Поделиться через


Отключение автоматического ускорения входа

В этой статье вы узнаете, как отключить функцию ускоренного входа для определенных доменов и приложений с помощью политики выбора домашней области (HRD). С помощью этой политики администраторы могут гарантировать, что пользователи всегда используют свои управляемые учетные данные, повышая безопасность и обеспечивая согласованный вход.

Политика определения домашней среды (HRD) предоставляет администраторам несколько способов контролировать, как и где их пользователи проходят проверку подлинности. Раздел domainHintPolicy политики HRD используется для помощи в миграции федеративных пользователей на облачные управляемые учетные данные, такие как FIDO. Это гарантирует, что они всегда посещают страницу входа Microsoft Entra и не направляются автоматически к федеративному поставщику удостоверений из-за подсказок домена. Дополнительную информацию о политике HRD см. в разделе Обнаружение домашней области.

Эта политика необходима в ситуациях, когда администраторы не могут контролировать или обновлять указания домена во время входа. Например, outlook.com/contoso.com отправляет пользователя на страницу входа с добавленным параметром &domain_hint=contoso.com, чтобы автоматически направить пользователя к федеративному поставщику удостоверений для домена contoso.com. Пользователи с управляемыми учетными данными, отправляемыми в федеративный IDP, не могут войти в систему с использованием своих управляемых учетных данных, что негативно влияет на безопасность и затрудняет вход пользователей в систему. Администраторы, развертывающие управляемые учетные данные, также должны настроить эту политику, чтобы пользователи всегда могли использовать свои управляемые учетные данные.

Требования

Чтобы отключить автоматический ускоренный вход для приложения в системе Microsoft Entra ID, вам потребуется:

  • Учетная запись Azure с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
  • Одна из следующих ролей: администратор облачных приложений, администратор приложений или владелец субъекта-службы.

Настройка HRD для блокировки доменных подсказок с помощью Microsoft Graph PowerShell

Администраторы федеративных доменов должны настроить этот раздел политики Home Realm Discovery в рамках плана, состоящего из четырех этапов. Цель этого плана состоит в том, чтобы в конечном итоге все пользователи в организации использовали свои управляемые учетные данные независимо от того, к какому домену или приложению они относятся, за исключением приложений, которые строго зависят от использования domain_hint. Этот план помогает администраторам найти эти приложения, исключить их из новой политики и продолжить развертывание изменений в остальной части клиента.

Выберите домен для изначального развертывания этого изменения. Этот домен — это тестовый домен, поэтому выберите его, который может оказаться более восприимчивым к изменениям в пользовательском интерфейсе (например, на другой странице входа). В следующем примере настроено игнорировать все указания домена из всех приложений, использующих это доменное имя. Установите эту политику в политике по умолчанию для арендатора HRD:

Выполните команду Connect, чтобы войти в идентификатор Microsoft Entra по крайней мере с ролью администратора приложений:

connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
  1. Выполните следующую команду, чтобы предотвратить подсказки домена для тестового домена.

    # 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  
    

    Убедитесь, что заменили app-client-Guid фактическими идентификаторами GUID приложения, а значение заполнителя - на фактический домен.

  2. Соберите отзывы от пользователей тестового домена. Собирайте сведения о приложениях, которые были нарушены в результате этого изменения, — они имеют зависимость от использования указания домена и должны быть обновлены. Пока добавьте их в раздел 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 приложения, а значение заполнителя - на фактический домен.

  3. Продолжайте расширение развертывания политики в новых доменах и сбор дополнительных отзывов.

    # 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 приложения, а значение заполнителя - на фактический домен.

  4. Завершите развертывание — охватите все домены, исключая те, которые должны оставаться ускоренными:

    $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 приложения, а значение заполнителя - на фактический домен.

Настройка HRD для предотвращения подсказок домена с помощью Microsoft Graph

Администраторам федеративных доменов необходимо настроить этот раздел политики HRD в рамках четырехэтапного плана. Цель этого плана заключается в том, чтобы со временем все пользователи в арендаторе начали использовать свои управляемые учетные данные вне зависимости от домена или приложения, за исключением тех приложений, которые имеют жесткие зависимости от использования domain_hint. Этот план помогает администраторам найти эти приложения, освободить их от новой политики и продолжить развертывание изменений в остальной части аренды.

В окне обозревателя Microsoft Graph войдите по крайней мере с ролью администратора приложений .

Предоставьте согласие на разрешение Policy.ReadWrite.ApplicationConfiguration.

  1. Выберите домен для изначального развертывания этого изменения. Этот домен — это тестовый домен, поэтому выберите его, который может оказаться более восприимчивым к изменениям в пользовательском интерфейсе (например, на другой странице входа). Это игнорирует все указания домена из всех приложений, использующих это доменное имя. Установите эту политику в политике 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 
    }
    
  2. Соберите отзывы от пользователей тестового домена. Собирайте сведения о приложениях, которые были нарушены в результате этого изменения, — они имеют зависимость от использования указания домена и должны быть обновлены. Пока добавьте их в раздел 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   
    }
    
  3. Продолжайте расширение развертывания политики в новых доменах и сбор дополнительных отзывов.

    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  
    }
    
  4. Завершите развертывание — нацелитесь на все домены, за исключением тех, которые должны продолжать ускоряться.

    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, могут войти на страницу входа Microsoft Entra, даже если подсказки по домену обычно ведут к ускоренному перенаправлению на федеративного поставщика удостоверений. Исключение этого параметра заключается в том, что приложение, запрашивающее вход, является одним из исключенных . Для этих приложений все указания домена по-прежнему принимаются.

Сведения о DomainHintPolicy

Раздел DomainHintPolicy политики HRD — это объект JSON, который позволяет администратору исключить использование указаний домена для определенных доменов и приложений. В этом разделе показано, что страница входа в Microsoft Entra будет вести себя так, как если бы параметр domain_hint в запросе на вход не присутствовал.

Разделы политики уважения и игнорирования

Раздел Значение Значения
IgnoreDomainHintForDomains Если подсказка домена отправляется в запросе, игнорируйте её. Массив адресов домена (например contoso.com). Также поддерживает all_domains
RespectDomainHintForDomains Если это указание домена отправляется в запросе, соблюдать его, даже если IgnoreDomainHintForApps указывает, что приложение в запросе не должно использовать автоматическое ускорение. Это свойство предназначено для замедления развертывания устаревших указаний домена в сети. Вы можете указать, что некоторые домены по-прежнему должны быть ускорены. Массив адресов домена (например contoso.com). Также поддерживает all_domains
IgnoreDomainHintForApps Если запрос из этого приложения поставляется с указанием домена, игнорировать его. Массив идентификаторов приложений (GUID). Также поддерживает all_apps
RespectDomainHintForApps Если запрос из этого приложения содержит подсказку домена, примите ее во внимание, даже в случае, если IgnoreDomainHintForDomains включает этот домен. Используется для того, чтобы некоторые приложения продолжали работать, если вы обнаружите, что они выходят из строя без указаний домена. Массив идентификаторов приложений (GUID). Также поддерживает all_apps

Оценка политики

Логика DomainHintPolicy выполняется для каждого входящего запроса, содержащего указание домена, и ускоряется на основе двух фрагментов данных в запросе — домен в указании домена и идентификатор клиента (приложения). Короче говоря, "Уважение" для домена или приложения имеет приоритет над инструкцией "Игнорировать" указание домена для заданного домена или приложения.

  • При отсутствии политики подсказки домена или если ни один из четырех разделов не ссылается на указанное приложение или подсказку домена, остальная часть политики HRD оценивается.
  • Если в одном (или обоих) из разделов RespectDomainHintForApps или RespectDomainHintForDomains указано имя приложения или домена, то пользователь автоматически перенаправляется на запрашиваемого федеративного поставщика удостоверений.
  • Если один из IgnoreDomainHintsForApps или IgnoreDomainHintsForDomains или оба ссылаются на приложение или подсказку домена в запросе, и они не упомянуты в разделах "Respect", то запрос не будет автоматически ускорен, и пользователь останется на странице входа Microsoft Entra, чтобы указать имя пользователя.

Когда пользователь введет имя пользователя на странице входа, он может использовать свои управляемые учетные данные. Если они решают не использовать управляемые учетные данные или у них нет зарегистрированных учетных данных, они перенаправляются к своему федеративному поставщику удостоверений для ввода учетных данных, как обычно.