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

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

英語版。

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

## 多要素認証 ##
多要素認証は5種類の方法で設定できる。
正直、多要素認証は複数の方法で設定できるのが混乱を生んでいる気がする。
結局どのユーザーが多要素認証どうなってるのかわからなくなってしまい、とても面倒くさい。

### ①がSecurity Defaults ###
Security Defaultsを設定したら自動的に多要素認証が設定される。

https://learn.microsoft.com/ja-jp/entra/fundamentals/security-defaults

> Azure ADのセキュリティの既定値群（Security Defaults）は、一般的な攻撃から組織を保護するための事前構成済みのセキュリティ設定を提供します¹²。以下のセキュリティ対策が含まれています¹²：
>
> 1. **Azure AD Multi-Factor Authenticationへの登録必須化**¹²：すべてのユーザーは、14日以内にMicrosoft Authenticatorアプリまたはアプリをサポートする任意のOATH TOTPを使用して、登録する必要があります¹²。
>
> 2. **管理者への多要素認証の実行要求**¹²：管理者は、毎回多要素認証を実行する必要があります¹²。
>
> 3. **ユーザーへの多要素認証の要求**¹²：認証の追加のレイヤーが必要なアカウントは管理者アカウントだけであると考えがちですが、多くの場合、攻撃者はエンドユーザーをターゲットにします¹²。
>
> 4. **レガシー認証のブロック**¹²：旧式の認証方式であるレガシー認証（POP3/IMAP4など）が利用できなくなります¹²。
>
> 5. **Azure portalなどへのアクセス時の多要素認証の要求**¹²：Azure portalへのアクセスなどの特権が必要な作業を保護します¹²。
>
> これらの機能は無料で利用することができ、Microsoft 365やDynamics 365に対して適用することが可能です¹²。具体的な手順については、[Microsoft Entra ID での既定のセキュリティ レベルの提供](^1^)に関するページを参照してください¹。¹²

Conditional Acces Policyと排他的（Security DefaultsがOnの場合、Conditional Access Policyは使えない）なので、注意が必要。

### ②が多要素認証設定ページ ###
このページのConfigureでMFA option page（Entra Admin CenterとURLが違うからこれは別のポータルなんだけど）を開く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/3536595b-e579-58d3-52e7-e922cb8b61d3.png)

https://account.activedirectory.windowsazure.com/UserManagement/MultifactorVerification.aspx?tenantId=b4b39995-353f-4bda-aa76-441fe58434c7&culture=en-us&requestInitiatedContext=users

Usersでユーザーごとの多要素認証の設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/39493b5f-e3e9-6fa4-3d30-9cbf3b295c34.png)

Service Settingsで多要素認証の詳細な設定。
IP除外、多要素認証の方法とか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/403ff171-e131-974a-58e3-e14057e1f196.png)


### ③は条件付アクセス制御 ###
条件にあったら多要素認証を要求。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/72fbd0bb-646e-8a1f-630e-67b484d23f99.png)

### ④MFA registration policy ###
Identity protectionから。
正直②と何が違うのかわからない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/34f591f4-1daf-a0c7-0572-bb68d31311d2.png)

### ⑤Sign in risk policy ###
Sign in risk policyで簡易的な条件付アクセスポリシーみたいなものを設定できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/c6a866a0-c8e3-3d0e-da15-52db1cb00f53.png)

## Self Service Password Reset ##
Protection > Self Service Password Resetでグループごとに設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/c123cc5f-fb5f-bcde-b53a-14db604675e1.png)

グループに含まれているユーザーの場合、パスワード忘れた場合、からリセットできるようになる。

設定されていない場合、できない旨が表示される。管理者への連絡が必要。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/172b6809-82fb-f5d8-5603-1affe75c7bba.png)


## VMにAzure ADユーザーでログイン ##
VM作成時にAADユーザーでログインを選択。自動的にシステム割り当てIDが有効化される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/7e848270-1b77-6212-081e-c56c0f40f65c.png)

これをOnにすると、ADログイン用の拡張機能が有効になるらしい。

ユーザーにRBACを割り振る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/150b84f2-9e14-525e-20ca-6bcbf6950800.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/2d4beff3-6375-7d17-edbc-37eb1f05f6f8.png)

で、結論からいうと、ログインできなかった。
Webで調べてみると、個人ブログでは手順がサイトによってばらばらだったり、Microsoftのサイトを見るとOSやWindows Updateによって、サポートされるかされないか色々条件があるみたい。

https://learn.microsoft.com/ja-jp/entra/identity/devices/howto-vm-sign-in-azure-ad-windows

https://learn.microsoft.com/ja-jp/entra/identity/devices/howto-vm-sign-in-azure-ad-linux

必要になった時にちゃんと調べることにして、スキップ。

## Smart lockout ##
Password protectionで、ロックアウトとかが設定可能。
何回失敗したらロックされるか、ロック時間、パスワードのブラックリストとか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/514c09f3-ed7b-4074-14e3-72695f1f50f6.png)

勝手に正規化されて、あいまい検索でチェックされるらしい。

https://lig-log.com/enable-custom-forbidden-passwords-in-azure-ad/

## Conditional Access Policy ##
Users ... Who、誰に対して。
Target resources ... What、なんのリソースに対して。
Conditions ... When、どの条件の場合。
Grant ... Block or Grant、許可もしくはブロックする。
Session ... How、許可した場合も利用を制限するか。


#### Users ####
Include、Excludeが設定可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/1e4af329-2cf9-8604-737c-6dcf6a36f2ac.png)

#### Target resources ####
Azure Portalとかが設定可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/a524cf28-4f84-a0e4-0413-d8ae003d6c2f.png)

#### Conditions ####
User risk
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/8d608586-49fc-3b97-39f6-07cfee2e1d75.png)

Sign in risk
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/4ca3808d-3efc-618a-2c28-ee6a9a5baaa0.png)

どのアクセス方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/3f14ca94-42a3-dab2-be4e-ea886da63fe6.png)

#### Grant ####
許可する場合も多要素認証を必須にするとかを選べる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/e362393c-2c16-cfe1-c84c-24780c3f7e55.png)

#### Session ####
例えばデフォルトでは1度ログインすれば90日ログインが有効だが、それを特定アプリだけ短くすることができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/0a9084b0-1d39-0947-b38a-e95c5bcbab9d.png)

### What If ###
例えば1人にログイン時に多要素認証を要求するPolicyを付けた場合、What IfツールでPolicyをテストできる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/57414d23-ab7a-35b1-c207-7f21a80b21aa.png)

### Report-only ###
レポートだけにすると、条件を実際に有効する前に影響度合いを測ることができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/5f6ac245-7ae7-ec27-28ad-74ba205f438b.png)


## Sign in risk, User risk ##
リスクレベルに応じて簡易的な条件付アクセスポリシーみたいな設定ができる。

> Azure ADのSign in risk policyとUser risk policyは、Identity Protectionの一部で、リスクベースのアクセス制御を提供します¹²³⁴。
>
> 1. **Sign in risk policy（サインインリスクポリシー）**：各サインイン中に、Identity Protectionはすべてのリアルタイムサインイン検出を実行し、サインインセッションのリスクレベルを生成します²。これはサインインが侵害された可能性の高さを示します²。その後に、このリスクレベルに基づいて、ユーザーと組織を保護するためのポリシーが適用されます。
>
> 2. **User risk policy（ユーザーリスクポリシー）**：割り当てたユーザに対して高・中・低のリスクが特定された場合にアクセスをブロックするのか、アクセスを許可するのか（レポートのみ）、アクセスを許可するがパスワードの変更を要求するのかといったポリシーが設定可能です⁴。
>
> これらのポリシーは、リスクを検出して偽陽性を減らすことができ、ユーザーと管理者が影響を受けることを防ぐことができます¹²³⁴。具体的な手順については、[リスク ポリシーを構成して有効にする](^6^)に関するページを参照してください⁶。¹²³⁴⁶

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/aa2522e2-6483-0e72-2008-aec69a00d588.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/49670c2d-c5ad-a11b-1e3c-6333c1966020.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654538/e343a9d0-deff-fb57-1235-a47c311d065d.png)