Настройка поведения входа с помощью обнаружения домашней области
В этой статье приведены общие сведения о настройке поведения проверки подлинности 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 с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
- Одна из следующих ролей: администратор приложений, администратор облачных приложений или владелец субъекта-службы.
- Последняя предварительная версия командлетов 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 г.
Прежде чем начать, выполните команду Connect, чтобы войти в идентификатор Microsoft Entra с учетной записью администратора:
Connect-AzureAD -Confirm
Выполните следующую команду для просмотра всех политик в организации.
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>
Испытайте приложение, чтобы проверить новую политику в действии.
получение списка приложений, для которых настроена политика обнаружения домашней области
Получение списка всех политик, созданных в организации
Get-AzureADPolicy
Запишите идентификатор ObjectID политики, для которой вы хотите получить список назначений.
Получение списка субъектов-служб, которым назначена политика
Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
Удаление политики HRD из приложения
Получение идентификатора ObjectID
Используйте предыдущий пример, чтобы получить идентификатор ObjectID политики, а также идентификатор ObjectID субъекта-службы приложения, из которого нужно удалить эту политику.
Удаление назначения политики из субъекта-службы приложения
Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal> -PolicyId <ObjectId of the policy>
Проверка удаления путем получения списка субъектов-служб, которым назначена политика
Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
Настройка политики с помощью Graph Explorer
В окне песочницы Microsoft Graph сделайте следующее:
Войдите с помощью одной из ролей, перечисленных в разделе предварительных требований.
Предоставьте согласие
Policy.ReadWrite.ApplicationConfiguration
на разрешение.Используйте политику обнаружения домашней области для создания новой политики.
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 }
Чтобы просмотреть новую политику, выполните следующий запрос:
GET /policies/homeRealmDiscoveryPolicies/{id}
Чтобы назначить новую политику приложению, выполните следующие действия.
POST /servicePrincipals/{id}/homeRealmDiscoveryPolicies/$ref
или
POST /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/$ref
Получение списка субъектов-служб, которым назначена политика
GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
Чтобы удалить созданную политику обнаружения домашней области, выполните указанный запрос:
DELETE /policies/homeRealmDiscoveryPolicies/{id}
Удаление назначения политики из субъекта-службы
DELETE /servicePrincipals/{id}/homeRealmDiscoveryPolicies/{policyId}/$ref
или
DELETE /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/{policyId}/$ref
Проверка удаления путем получения списка субъектов-служб, которым назначена политика
GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo