Настройка поведения входа с помощью обнаружения домашней области

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

Автоматический вход в систему

Некоторые организации настраивают домены в клиенте Microsoft Entra для федерации с другим поставщиком удостоверений (IDP), например службы федерации Active Directory (AD FS) (ADFS) для проверки подлинности пользователей. При входе пользователя в приложение они сначала представлены на странице входа в Microsoft Entra. После ввода имени участника-пользователя (UPN), если они находятся в федеративном домене, они будут доставлены на страницу входа поставщика удостоверений, обслуживающих этот домен. При определенных обстоятельствах у администраторов может возникнуть необходимость направлять пользователей на страницу входа, когда они пытаются войти в определенные приложения. В результате пользователи могут пропустить начальную страницу идентификатора Microsoft Entra. Этот процесс называется автоматическим ускорением входа.

Для федеративных пользователей с учетными данными с поддержкой облака, такими как вход в систему с помощью SMS или ключи FIDO, следует запретить автоматическое ускорение входа. Сведения о том, как запретить указания домена с помощью обнаружения домашней области, см. в разделе Отключение автоматического ускорения входа.

Внимание

Начиная с апреля 2023 года организации, использующие автоматическое ускорение или смарт-связи, могут начать видеть новый экран, добавленный в пользовательский интерфейс входа. Этот экран называется диалогом подтверждения домена, является частью общей приверженности Корпорации Майкрософт обеспечению безопасности и требует от пользователя подтвердить домен клиента, в котором они входят. Если вы видите диалоговое окно подтверждения домена и не распознаете указанный домен клиента, необходимо отменить поток проверки подлинности и связаться с ИТ-Администратор.

Дополнительные сведения см . в диалоговом окне подтверждения домена.

Необходимые компоненты

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

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

Настройка политики HRD для приложения

Мы используем командлеты Azure AD PowerShell для выполнения нескольких сценариев, в том числе:

Мы используем Microsoft Graph для обхода нескольких сценариев, в том числе:

  • настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения в клиенте с одним федеративным доменом;

  • настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения для одного из нескольких доменов, проверенных для вашего клиента;

  • Настройка политики HRD, чтобы разрешить устаревшему приложению выполнять прямую проверку подлинности имени пользователя и пароля в идентификатор Microsoft Entra id для федеративного пользователя.

  • получение списка приложений, для которых настроена политика.

В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD в субъектах-службах приложений в идентификаторе Microsoft Entra.

Примечание.

Модули Azure AD и MSOnline PowerShell устарели с 30 марта 2024 г. Дополнительные сведения см. в обновлении об отмене. После этой даты поддержка этих модулей ограничена поддержкой миграции в пакет SDK Для Microsoft Graph PowerShell и исправления безопасности. Устаревшие модули будут продолжать функционировать до 30 марта 2025 года.

Рекомендуется перенести в Microsoft Graph PowerShell для взаимодействия с идентификатором Microsoft Entra (ранее — Azure AD). Часто задаваемые вопросы о миграции см. в разделе "Вопросы и ответы о миграции". Примечание. Версии 1.0.x MSOnline могут возникнуть сбоем после 30 июня 2024 г.

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

    Connect-AzureAD -Confirm
    
  2. Выполните следующую команду для просмотра всех политик в организации.

    Get-AzureADPolicy
    

Если результат не возвращается, в клиенте нет созданных политик.

Создание политики обнаружения домашней области

В этом примере создается политика, которая при назначении ее приложению:

  • Автоматически ускоряет пользователей на экране входа в федеративный поставщик удостоверений при входе в приложение при наличии одного домена в клиенте.
  • Автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений, если в клиенте существует несколько федеративных доменов.
  • Включает неинтерактивный вход пользователя или пароля непосредственно в идентификатор Microsoft Entra для федеративных пользователей для приложений, которым назначена политика.

Следующая политика автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений при входе в приложение при наличии одного домена в клиенте.

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true}}") -DisplayName BasicAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": true
}

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

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true, `"PreferredDomain`":`"federated.example.edu`"}}") 
    -DisplayName MultiDomainAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": true,
    "PreferredDomain": [
      "federated.example.edu"
    ]
}

Следующая политика включает проверку подлинности имени пользователя и пароля для федеративных пользователей непосредственно с идентификатором Microsoft Entra для определенных приложений:

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") 
    -DisplayName EnableDirectAuthPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"EnableDirectAuthPolicy": {
    "AllowCloudPasswordValidation": true
}

Чтобы просмотреть созданную политику и получить для нее идентификатор ObjectID, выполните следующую команду.

Get-AzureADPolicy

Чтобы применить политику HRD после создания, ее можно назначить нескольким субъектам-службам приложений.

Найдите субъект-службу, назначаемую политике

Чтобы назначить политику субъектам-службам, необходимо знать их идентификаторы ObjectID. Существует несколько способов получения идентификатора ObjectID субъектов-служб.

Вы можете использовать Центр администрирования Microsoft Entra или запросить Microsoft Graph. Вы также можете перейти к средству Обозреватель Graph и войти в учетную запись Microsoft Entra, чтобы просмотреть все субъекты-службы вашей организации.

Так как вы используете PowerShell, вы можете использовать следующий командлет для перечисления субъектов-служб и их идентификаторов.

Get-AzureADServicePrincipal

Назначение политики для субъекта-службы

Получив идентификатор ObjectID субъекта-службы приложения, для которого требуется настроить автоматическое ускорение, выполните следующую команду. Эта команда привязывает политику обнаружения домашней области, созданную на шаге 1, к субъекту-службе, определенному на шаге 2.

Add-AzureADServicePrincipalPolicy 
    -Id <ObjectID of the Service Principal> 
    -RefObjectId <ObjectId of the Policy>

Эту команду можно повторить для каждого субъекта-службы, для которого необходимо добавить политику.

В случае, если у приложения уже назначена политика HomeRealmDiscovery, нельзя добавить вторую. В этом случае измените определение политики HRD, которая назначена приложению, чтобы добавить дополнительные параметры.

Проверьте, какие субъекты-службы назначены политике HRD

Чтобы проверить, для каких приложений настроена политика обнаружения домашней области, воспользуйтесь командлетом Get-AzureADPolicyAppliedObject. Передайте в него идентификатор ObjectID политики, которую нужно проверить.

Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

Испытайте приложение, чтобы проверить новую политику в действии.

получение списка приложений, для которых настроена политика обнаружения домашней области

  1. Получение списка всех политик, созданных в организации

    Get-AzureADPolicy
    

Запишите идентификатор ObjectID политики, для которой вы хотите получить список назначений.

  1. Получение списка субъектов-служб, которым назначена политика

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

Удаление политики HRD из приложения

  1. Получение идентификатора ObjectID

    Используйте предыдущий пример, чтобы получить идентификатор ObjectID политики, а также идентификатор ObjectID субъекта-службы приложения, из которого нужно удалить эту политику.

  2. Удаление назначения политики из субъекта-службы приложения

    Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal>  -PolicyId <ObjectId of the policy>
    
  3. Проверка удаления путем получения списка субъектов-служб, которым назначена политика

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

Настройка политики с помощью Graph Explorer

В окне песочницы Microsoft Graph сделайте следующее:

  1. Войдите с помощью одной из ролей, перечисленных в разделе предварительных требований.

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

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

  4. POST новую политику или PATCH для обновления существующей политики.

    PATCH /policies/homeRealmDiscoveryPolicies/{id}
        {
            "definition": [
            "{\"HomeRealmDiscoveryPolicy\":
            {\"AccelerateToFederatedDomain\":true,
            \"PreferredDomain\":\"federated.example.edu\",
            \"AlternateIdLogin\":{\"Enabled\":true}}}"
        ],
            "displayName": "Home Realm Discovery auto acceleration",
            "isOrganizationDefault": true
        }
    
  5. Чтобы просмотреть новую политику, выполните следующий запрос:

    GET /policies/homeRealmDiscoveryPolicies/{id}
    
  6. Чтобы назначить новую политику приложению, выполните следующие действия.

    POST /servicePrincipals/{id}/homeRealmDiscoveryPolicies/$ref
    

    или

    POST /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/$ref
    
  7. Получение списка субъектов-служб, которым назначена политика

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    
  8. Чтобы удалить созданную политику обнаружения домашней области, выполните указанный запрос:

    DELETE /policies/homeRealmDiscoveryPolicies/{id}
    
  9. Удаление назначения политики из субъекта-службы

    DELETE /servicePrincipals/{id}/homeRealmDiscoveryPolicies/{policyId}/$ref
    

    или

    DELETE /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/{policyId}/$ref
    
  10. Проверка удаления путем получения списка субъектов-служб, которым назначена политика

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    

Следующие шаги