SC-300 Entra ID基礎 ハンズオン Module 03

以下ハンズオンのModule 03の部分です。

英語版。

https://microsoftlearning.github.io/SC-300-Identity-and-Access-Administrator/

日本語版はこちら。

https://github.com/MicrosoftLearning/SC-300-Identity-and-Access-Administrator.JA-JP/blob/main/Instructions/Labs/Lab_00_SetUpLabResources.md

全部で4 Module。
Module 01: https://qiita.com/smr1/items/1c2558fdb466795669cc
Module 02: https://qiita.com/smr1/items/975769ee5d0822562aef
Module 03: https://qiita.com/smr1/items/8de42c5504511b067890
Module 04: https://qiita.com/smr1/items/fdd57f3f2bc2acab9633

このModuleはDefender向けのライセンスがうまく準備できなかったので、Defenderに関しては調べられる範囲で。

## Defender for Cloud Apps discovery ##

Defender for Cloud Apps

https://www.cloud-for-all.com/m365/blog/microsoft-defender-for-cloud-apps

> Microsoft社が提供する **CASB（Cloud Access Security Broker）** です。
簡単にいうとユーザーとクラウドアプリケーションの間に立ってログの収集やAPI コネクタ、リバースプロキシなどの機能を働かせ、アクセスの可視化・保護・コンプライアンスなどを実現するセキュリティソリューションです。

機器の通信ログを分析して、組織内で利用されているSaaSアプリを制御するということか。

Microsoft Defender Portalでクラウドアプリカタログを選択。SaaSアプリごとにスコアが出る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/4f76246a-7cb8-b295-3146-6f80dc81f96f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/26721c2d-4a81-7f8e-e362-c647633d6710.png)

クラウドアプリカタログで特定クラウドサービスを非承認にする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/d455a1a1-b7b8-dd32-bc68-a0fad5f47573.png)

ブラウザでアクセスできなくなる。

## Session Policies ##

https://learn.microsoft.com/ja-jp/defender-cloud-apps/session-policy-aad

> Microsoft Defender for Cloud Apps セッション ポリシーを使用すると、リアルタイムのセッション レベルの監視により...**アクセスを完全に許可またはブロックするのではなく、セッションを監視しながらアクセスを許可します。**

BYODの場合Sharepointからのファイルダウンロードをブロックするとかをポリシーという形で制御できる。

条件付アクセスに近い形で条件に応じてコントロールできる。セッションポリシーなので、アプリの操作の中身にまで入って細かく制御できるのがAADの条件付アクセスより良いところ、と理解しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/4c8c2a50-f572-1e79-cb99-0371a134c43d.png)


## Microsoft Defender for Cloud Apps ##

そもそもMicrosoft for Defender Cloud Appsはあまり使ったことなかったので、調べてみる。MS-900で少し調べたけど改めて。

https://www.youtube.com/watch?v=CWvweHUIGUs

Cloud App Security Brokerというものがある。
組織の社員が利用しているSaaSアプリを監視、保護できるというもの。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/61488cde-d204-9c21-2473-5f387328a1e5.png)

- DefenderとSaaSを接続する。
- 利用しているSaaSを発見する。
- SaaSの利用方法を評価する。例えばSalesforceにMFAを設定していないとか。
- データ保護。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/3117bcbe-bcd7-8484-838e-94ecb37d1654.png)

App Discovery Policy
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/0a1935be-459b-b515-b235-06c04cd094c8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/51892fac-d6d6-df95-47e1-f4136e7292f2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/9b19adff-d281-8f74-c971-9674fdff2f88.png)

App ConnectorでSaaSを接続する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/e114c3e3-3acc-2a48-d1cd-293f172001a8.png)

SaaS Posture Management。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/a2b76db2-8b8d-0745-64e4-dbebab2da4b7.png)

Deepdive

https://www.youtube.com/watch?v=vuPM2Bqsvsk

## App Registration ##
※データは消すので、マスキングなしです。

（どこかのタイミングでちゃんとAD認証を使ったWebアプリについて整理したい。）

Web APIをAADで認証する場合のApp Registrationを作成する。

https://learn.microsoft.com/ja-jp/entra/identity-platform/scenario-protected-web-api-app-registration

https://learn.microsoft.com/ja-jp/entra/identity-platform/sample-v2-code?tabs=apptype

App Registrationを作ると、Client IDが採番される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/5d8e0ed5-88db-e0df-f453-4baf38ac0f20.png)

Platformを設定する。Webの場合はRedirect URI等を設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/6d5e7360-466d-058f-2d00-dd62fc206f0e.png)

WebAPIにアクセスするアプリの場合はシークレットを登録する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/baf39a2b-c3a6-87ab-d39a-46222e12b949.png)

Web APIがアクセスできる範囲をScopeとして登録する。

通常はAdmins and usersにしておくが、強い権限が必要な場合やデーモン用などユーザーが利用しないバックエンドアプリに利用されるAPIの場合はAdmins onlyにする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/1617986a-4334-de71-ceed-ee4eec0b0afe.png)

なお、下のAuthorized client applicationsを設定しておくとユーザーに対して承認を要求する画面が表示されなくなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/7f9d2f63-1944-875d-1981-68274fa7fd2f.png)

しない場合こんなメッセージがユーザー向けに表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/7464869e-1d8b-3cd1-4b03-0869c2946794.png)

API permissionsからテナントごとのAdmin Consentを有効にできる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/bce91f14-4c05-0fe0-7b89-7baaa229ca1e.png)

## Enterprise Application ##
Assign users and groupsで特定のユーザーしかEnterprise Applicationにアクセスできるように制限する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/de8864d7-b303-5ea0-90a0-92a8d36b9ffb.png)

Git HubにAADのアカウントでログインできるようにSSOを設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/eea70c14-1f30-6791-6af2-36c7b0033c4e.png)