自動高速化サインインを無効にする
この記事では、ホーム領域検出 (HRD) ポリシーを使用して、特定のドメインとアプリケーションの自動高速化サインインを無効にする方法について説明します。 このポリシーを構成すると、管理者はユーザーが常にマネージド資格情報を使用し、セキュリティを向上させ、一貫したサインイン エクスペリエンスを提供できるようにします。
ホーム領域検出 (HRD) ポリシーにより、管理者がユーザー認証の方法と場所を制御するための複数の方法が提供されます。 HRD ポリシーの domainHintPolicy
セクションを使用すると、フェデレーション ユーザーを常に Microsoft Entra のサインイン ページにアクセスさせ、ドメイン ヒントによってフェデレーション IDP に自動高速化されないようにすることで、FIDO などのクラウドで管理されている資格情報に移行させるのに役立ちます。 HRD ポリシーの詳細については、「ホーム領域検出」を参照してください。
このポリシーは、管理者がサインイン中にドメイン ヒントを制御または更新できない場合に必要です。 たとえば、outlook.com/contoso.com
の場合、ユーザーは &domain_hint=contoso.com
パラメーターが追加されたサインイン ページに移動します。これは、ユーザーを contoso.com
ドメインのフェデレーション IDP に直接高速化することが目的です。 管理されている資格情報を持つユーザーをフェデレーション IDP に移動させた場合、管理されている資格情報を使用したサインインはできません。その結果、サインイン エクスペリエンスのランダム化によるセキュリティの低下とユーザーの不満が発生します。 管理者は、マネージド資格情報をロールアウトして、ユーザーが常に自分のマネージド資格情報を使用できるように、このポリシーを設定する必要もあります。
前提条件
Microsoft Entra ID でアプリケーションの自動高速化サインインを無効にするには、次が必要です。
- アクティブなサブスクリプションが含まれる Azure アカウント。 まだアカウントがない場合は、無料でアカウントを作成することができます。
- 次のいずれかのロール: クラウド アプリケーション管理者、アプリケーション管理者、サービス プリンシパルの所有者。
Microsoft Graph PowerShell を使用してドメイン ヒントを防止するように HRD を構成する
フェデレーション ドメインの管理者は、HRD ポリシーのこのセクションを 4 フェーズ計画で設定する必要があります。 この計画の目的は、最終的にテナント内のすべてのユーザーが、ドメインやアプリケーションに関係なく管理されている資格情報を使用できるようにすることです。ただし、domain_hint
の使用に対して固定された依存関係を持つアプリは除きます。 この計画は、管理者がこのようなアプリを検出し、新しいポリシーの適用対象から除外し、テナントの残りの部分への変更のロールアウトを続行するのに役立ちます。
この変更を最初にロールアウトするドメインを選択します。 このドメインはテスト ドメインであるため、UX の変更に対してより受け入れ性が高い可能性があるドメインを選択します (たとえば、別のサインイン ページが表示されます)。 次の例は、このドメイン名を使用するすべてのアプリケーションのすべてのドメイン ヒントを無視するように構成されています。 テナントの既定の HRD ポリシーで、このポリシーを設定します。
Connect コマンドを実行して、少なくとも アプリケーション管理者 ロールを持つ Microsoft Entra ID にサインインします。
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
次のコマンドを実行して、テスト ドメインのドメイン ヒントを防ぎます。
# Define the Home Realm Discovery Policy parameters $params = @{ definition = @( '{ "HomeRealmDiscoveryPolicy": { "DomainHintPolicy": { "IgnoreDomainHintForDomains": ["federated.example.edu"], "RespectDomainHintForDomains": [], "IgnoreDomainHintForApps": [], "RespectDomainHintForApps": [] } } }' ) displayName = "Home Realm Discovery Domain Hint Exclusion Policy" isOrganizationDefault = $true } # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID) $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>" # Replace with your actual policy ID # Update the policy to ignore domain hints for the specified domains Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
実際のアプリ GUID で
app-client-Guid
を置換し、プレースホルダードメインの値を実際のドメインで置換してください。テスト ドメインのユーザーからフィードバックを収集します。 この変更の結果として中断されたアプリケーションの詳細を収集します。それらはドメイン ヒントの使用に対して依存関係があるため、更新する必要があります。 ここでは、
RespectDomainHintForApps
セクションに追加します。# Define the Home Realm Discovery Policy parameters $params = @{ definition = @( '{ "HomeRealmDiscoveryPolicy": { "DomainHintPolicy": { "IgnoreDomainHintForDomains": ["federated.example.edu"], "RespectDomainHintForDomains": [], "IgnoreDomainHintForApps": [], "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"] } } }' ) displayName = "Home Realm Discovery Domain Hint Exclusion Policy" isOrganizationDefault = $true } # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID) $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>" # Replace with your actual policy ID # Update the policy to ignore domain hints for the specified domains Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
app-client-Guid
を実際のアプリ GUID に、プレースホルダー ドメインの値を実際のドメインに置き換えることを確認します。新しいドメインへのポリシーのロールアウトを引き続き展開し、さらにフィードバックを収集します。
# Define the Home Realm Discovery Policy parameters $params = @{ definition = @( '{ "HomeRealmDiscoveryPolicy": { "DomainHintPolicy": { "IgnoreDomainHintForDomains": ["federated.example.edu", "otherDomain.com", "anotherDomain.com"], "RespectDomainHintForDomains": [], "IgnoreDomainHintForApps": [], "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"] } } }' ) displayName = "Home Realm Discovery Domain Hint Exclusion Policy" isOrganizationDefault = $true } # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID) $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>" # Replace with your actual policy ID # Update the policy to ignore domain hints for the specified domains Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
app-client-Guid
を実際のアプリ GUID と置き換え、プレースホルダーのドメイン値を実際のドメインに置き換えてください。ロールアウトを完了します。ターゲットは、引き続き高速化する必要があるドメインを除外した、すべてのドメインです。
$params = @{ definition = @( '{ "HomeRealmDiscoveryPolicy": { "DomainHintPolicy": { "IgnoreDomainHintForDomains": ["*"], "RespectDomainHintForDomains": ["guestHandlingDomain.com"], "IgnoreDomainHintForApps": [], "RespectDomainHintForApps": ["app1-clientID-Guid", "app2-clientID-Guid"] } } }' ) displayName = "Home Realm Discovery Domain Hint Exclusion Policy" isOrganizationDefault = $true } # Define the Home Realm Discovery Policy ID (ensure this is set to a valid ID) $homeRealmDiscoveryPolicyId = "<Your-Policy-ID-Here>" # Replace with your actual policy ID # Update the policy to ignore domain hints for the specified domains Update-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId -BodyParameter $params
app-client-Guid
を実際のアプリの GUID に置き換え、ドメインのプレースホルダー値を実際のドメインに置き換えてください。
Microsoft Graph を使用してドメイン ヒントを防止するように HRD を構成する
フェデレーション ドメインの管理者は、HRD ポリシーのこのセクションを 4 フェーズ計画で設定する必要があります。 この計画の目的は、最終的にテナント内のすべてのユーザーが、ドメインやアプリケーションに関係なく管理されている資格情報を使用できるようにすることです。ただし、domain_hint
の使用に対して固定された依存関係を持つアプリは除きます。 この計画は、管理者がこのようなアプリを検出し、新しいポリシーの適用対象から除外し、テナントの残りの部分への変更のロールアウトを続行するのに役立ちます。
Microsoft Graph エクスプローラー ウィンドウで、少なくとも アプリケーション管理者の ロールでサインインします。
Policy.ReadWrite.ApplicationConfiguration
の権限に同意してください。
この変更を最初にロールアウトするドメインを選択します。 このドメインはテスト ドメインであるため、UX の変更に対してより受け入れ性が高い可能性があるドメインを選択します (たとえば、別のサインイン ページが表示されます)。 これにより、このドメイン名を使用するすべてのアプリケーションからのすべてのドメイン ヒントが無視されます。 テナントの既定の HRD ポリシーでこのポリシーを設定します。 新しいポリシーを POST するか、PATCH を使用して既存のポリシーを更新します。
PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[]}}" ], "displayName": "Home Realm Discovery Domain Hint Exclusion Policy", "isOrganizationDefault": true }
テスト ドメインのユーザーからフィードバックを収集します。 この変更の結果として中断されたアプリケーションの詳細を収集します。それらはドメイン ヒントの使用に対して依存関係があるため、更新する必要があります。 ここでは、
RespectDomainHintForApps
セクションに追加します。PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}" ], "displayName": "Home Realm Discovery Domain Hint Exclusion Policy6", "isOrganizationDefault": false }
新しいドメインへのポリシーのロールアウトを引き続き展開し、さらにフィードバックを収集します。
PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"testDomain.com\",\"otherDomain.com\",\"anotherDomain.com\"],\"RespectDomainHintForDomains\":[],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}" ], "displayName": "Home Realm Discovery Domain Hint Exclusion Policy", "isOrganizationDefault": true }
ロールアウトを完了する - すべてのドメインをターゲットにし、引き続き高速化する必要があるドメインを除外します。
PATCH https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{homeRealmDiscoveryPolicyId} { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"IgnoreDomainHintForDomains\":[\"*\"],\"RespectDomainHintForDomains\":[\"guestHandlingDomain.com\"],\"IgnoreDomainHintForApps\":[],\"RespectDomainHintForApps\":[\"app1-clientID-Guid\",\"app2-clientID-Guid\"]}}" ], "displayName": "Home Realm Discovery Domain Hint Exclusion Policy", "isOrganizationDefault": true }
手順 4 の完了後、guestHandlingDomain.com
のユーザーを除くすべてのユーザーは、ドメイン ヒントによってフェデレーション IDP への自動高速化が発生する場合でも、Microsoft Entra サインイン ページでサインインできます。 この設定の例外は、サインインを要求するアプリが除外対象のアプリの 1 つである場合です。これらのアプリでは、すべてのドメイン ヒントが引き続き受け入れられます。
DomainHintPolicy の詳細
HRD ポリシーの DomainHintPolicy セクションは JSON オブジェクトであり、管理者はこれを使用して、ドメイン ヒントの使用対象から特定のドメインとアプリケーションをオプトアウトできます。 機能的には、このセクションでは、サインイン要求の domain_hint
パラメーターが存在しないかのように動作するように Microsoft Entra サインイン ページに指示します。
ポリシーの Respect (優先) と Ignore (無視) のセクション
Section | 説明 | 値 |
---|---|---|
IgnoreDomainHintForDomains |
このドメイン ヒントが要求で送信された場合は、無視します。 | ドメイン アドレスの配列 (contoso.com など)。 all_domains もサポートされています |
RespectDomainHintForDomains |
要求でアプリを自動高速化しないことが IgnoreDomainHintForApps によって指示されていても、このドメイン ヒントが要求で送信された場合は、それを優先します。 このプロパティは、ネットワーク内の非推奨のドメイン ヒントのロールアウトを遅らせるためのプロパティです。一部のドメインを引き続き高速化する必要があることを示すことができます。 |
ドメイン アドレスの配列 (contoso.com など)。 all_domains もサポートされています |
IgnoreDomainHintForApps |
このアプリケーションからの要求にドメイン ヒントが含まれている場合は、無視します。 | アプリケーション ID (GUID) の配列。 all_apps もサポートされています |
RespectDomainHintForApps |
このアプリケーションからの要求にドメイン ヒントが含まれている場合は、IgnoreDomainHintForDomains にそのドメインが含まれていても、それを優先します。 ドメイン ヒントなしで中断されていることを検出した場合に、一部のアプリの動作を維持するために使用します。 |
アプリケーション ID (GUID) の配列。 all_apps もサポートされています |
ポリシーの評価
DomainHintPolicy ロジックは、ドメイン ヒントを含む受信要求ごとに実行され、要求に含まれる 2 つのデータ、つまりドメイン ヒント内のドメインと、クライアント ID (アプリ) に基づいて高速化されます。 要するに、ドメインまたはアプリの "Respect" は、特定のドメインまたはアプリケーションのドメイン ヒントを "無視" する命令よりも優先されます。
- ドメイン ヒント ポリシーがない場合、または 4 つのセクションのいずれも言及されているアプリまたはドメイン ヒントを参照していない場合は、HRD ポリシーの残りの部分 評価されます。
- 要求で
RespectDomainHintForApps
またはRespectDomainHintForDomains
セクションのどちらか一方 (または両方) にアプリまたはドメイン ヒントが含まれている場合、ユーザーは要求どおりにフェデレーション IDP に自動高速化されます。 - 要求の
IgnoreDomainHintsForApps
またはIgnoreDomainHintsForDomains
のどちらか一方 (または両方) でアプリまたはドメイン ヒントが参照されていて、"Respect" セクションでは参照されていない場合、要求は自動高速化されず、ユーザーは Microsoft Entra のサインイン ページにとどまってユーザー名を指定します。
ユーザーがサインイン ページでユーザー名を入力すると、ユーザーは自分のマネージド資格情報を使用できます。 管理対象の資格情報を使用しないことを選択した場合、または登録されていない場合は、通常どおり資格情報の入力のためにフェデレーション IDP に移動されます。