Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом статье дается введение в настройку поведения аутентификации Microsoft Entra для федеративных пользователей с использованием политики обнаружения домашней области (HRD). Он охватывает использование автоматического ускоренного входа, чтобы пропустить экран ввода имени пользователя и автоматически перенаправить пользователей на федеративные точки входа. Дополнительные сведения о политике HRD см. в статье "Home Realm Discovery".
Предварительные условия
Чтобы настроить политику HRD для приложения в Microsoft Entra ID, вам потребуется:
- Учетная запись Azure с активной подпиской. Если у вас еще нет учетной записи, вы можете создать учетную запись бесплатно.
- Роль администратора приложений
Ускоренный вход в систему
Некоторые организации настраивают домены в клиенте Microsoft Entra для федерации с другим поставщиком удостоверений (IDP), например, Со службами федерации Active Directory (AD FS) для проверки подлинности пользователей. Когда пользователь входит в приложение, сначала появляется страница входа в Microsoft Entra. После ввода основного имени пользователя (UPN), если они находятся в федеративном домене, их перенаправят на страницу входа поставщика удостоверений, обслуживающего этот домен. При определенных обстоятельствах у администраторов может возникнуть необходимость направлять пользователей на страницу входа, когда они пытаются войти в определенные приложения. В результате пользователи могут пропустить начальную страницу идентификатора Microsoft Entra. Этот процесс называется «автоматическим ускорением входа в систему».
Для федеративных пользователей с облачными учетными данными, например для входа в службу коротких сообщений (SMS) или ключей FIDO, следует запретить автоматическое ускорение входа. Сведения о предотвращении подсказок домена с помощью HRD см. в статье "Отключение автоматического ускорения входа ".
Внимание
Начиная с апреля 2023 года организации, использующие автоматическое ускорение или смарт-связи, могут начать видеть новый экран, добавленный в пользовательский интерфейс входа. Этот экран, называемый Диалогом Подтверждения Домена, является частью общей приверженности Корпорации Майкрософт по обеспечению безопасности и требует от пользователя подтвердить домен арендатора, в котором они выполняют вход. Если вы видите диалоговое окно подтверждения домена и не распознаете указанный домен клиента, необходимо отменить поток проверки подлинности и обратиться к ИТ-администратору.
Дополнительные сведения см. в диалоговом окне подтверждения домена.
Настройка политики HRD с помощью Microsoft Graph PowerShell
Мы используем командлеты Microsoft Graph PowerShell для разбора нескольких сценариев, в том числе:
- Настройка политики HRD для автоматического ускорения работы приложения в арендуемом пространстве с одним федеративным доменом.
- Настройка политики HRD для автоматического ускорения работы приложения в одном из нескольких доменов, подтвержденных для вашего арендатора.
- Настройка политики HRD, чтобы разрешить устаревшему приложению выполнять прямую проверку подлинности имени пользователя и пароля в идентификатор Microsoft Entra id для федеративного пользователя.
- получение списка приложений, для которых настроена политика.
В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD на принципах служб приложений в Microsoft Entra ID.
Прежде чем начать, выполните команду Connect, чтобы войти в идентификатор Microsoft Entra с по крайней мере ролью администратора приложений :
connect-MgGraph -scopes "Policy.Read.All"
Выполните следующую команду для просмотра всех политик в организации.
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Если результат не возвращается, это означает, что у вас нет созданных политик в вашем клиенте.
Создание политики HRD с помощью Microsoft Graph PowerShell
В этом примере вы создаете политику таким образом, что при назначении ее приложению, она либо:
- Автоматически перенаправляет пользователей на экран входа в федеративного поставщика удостоверений при входе в приложение, если в вашем клиенте имеется единственный домен.
- Автоматически направляет пользователей на экран входа поставщика федеративной идентификации, если у вашего клиента есть несколько федеративных доменов.
- Позволяет неинтерактивный вход с использованием имени пользователя и пароля непосредственно в Microsoft Entra ID для федеративных пользователей в приложениях, к которым применяются политики.
Следующая политика автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений при входе в приложение при наличии одного домена в клиенте.
Выполните команду Connect, чтобы войти в Microsoft Entra ID как минимум с ролью администратора приложений .
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
Выполните следующую команду, чтобы создать новую политику HRD:
# Define the parameters for the policy $params = @{ definition = @( '{"HomeRealmDiscoveryPolicy":{ "AccelerateToFederatedDomain":true, } }' ) displayName = "BasicAutoAccelerationPolicy" isOrganizationDefault = $true } # Create a new Home Realm Discovery Policy New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
Следующая политика автоматически перенаправляет пользователей на экран входа в систему через федеративного поставщика идентификации, если в вашем клиенте есть более одного федеративного домена. Если у вас несколько федеративных доменов, выполняющих проверку подлинности пользователей для приложений, вам потребуется указать домен, для которого необходимо использовать автоматическое ускорение.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AccelerateToFederatedDomain":true,
"PreferredDomain":"federated.example.edu"
}}'
)
displayName = "MultiDomainAutoAccelerationPolicy"
isOrganizationDefault = $true
}
# Create the new policy
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
Следующая политика включает проверку подлинности имени пользователя и пароля для федеративных пользователей непосредственно с идентификатором Microsoft Entra для определенных приложений:
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AllowCloudPasswordValidation":true
}
}'
)
displayName = "EnableDirectAuthPolicy"
}
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
Чтобы увидеть новую политику и получить его ObjectID, выполните следующую команду:
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Чтобы применить политику HRD после ее создания, можно назначить ее нескольким служебным объектам.
Найдите субъект-службу для назначения политики с помощью Microsoft Graph PowerShell
Вам потребуется ObjectID служебных принципалов, которым вы хотите назначить политику. Существует несколько способов найти ObjectID субъектов-служб.
Вы можете использовать Центр администрирования Microsoft Entra. Использование этого параметра:
- Перейдите к Entra ID>Корпоративные приложения>Все приложения.
- Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.
Поскольку вы используете Microsoft Graph PowerShell, выполните следующий командлет для перечисления учетных записей сервисов и их идентификаторов.
connect-MgGraph -scopes "Application.Read.All"
Get-MgServicePrincipal
Назначьте политику служебному принципалу с помощью Microsoft Graph PowerShell
После получения ObjectID субъекта-службы приложения, для которого требуется настроить автоматическое ускорение, выполните следующую команду. Эта команда связывает созданную вами политику HRD с найденным вами в предыдущих разделах представительством службы.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration", "Application.ReadWrite.All"
# Define the parameters for the New-MgServicePrincipalHomeRealmDiscoveryPolicy cmdlet
$assignParams = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>"
}
New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -BodyParameter $assignParams
Эту команду можно повторить для каждого субъекта-службы, для которого необходимо добавить политику.
В случае, если у приложения уже назначена политика Home Realm Discovery, нельзя добавить вторую. В этом случае измените определение политики HRD, которая назначена приложению, чтобы добавить дополнительные параметры.
Проверьте, каким служебным принципам назначена ваша политика HRD с помощью Microsoft Graph PowerShell.
Выполните следующую команду, чтобы перечислить сервисные принципалы, которым назначена политика.
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>"
# Replace with the actual ObjectId of the Policy
Убедитесь, что вы протестируете интерфейс входа для приложения, чтобы убедиться, что новая политика работает.
Настройка политики HRD с помощью Microsoft Graph
Мы используем вызовы API Microsoft Graph для выполнения нескольких сценариев, в том числе:
Настройка политики HRD для автоматического ускорения работы приложения в арендуемом пространстве с одним федеративным доменом.
Настройка политики HRD для автоматического ускорения работы приложения в одном из нескольких доменов, подтвержденных для вашего арендатора.
Настройка политики HRD, чтобы разрешить устаревшему приложению выполнять прямую проверку подлинности имени пользователя и пароля в идентификатор Microsoft Entra id для федеративного пользователя.
получение списка приложений, для которых настроена политика.
В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD на принципах служб приложений в Microsoft Entra ID.
Перед началом работы перейдите к окну обозревателя Microsoft Graph.
Предоставьте согласие
Policy.Read.All
на разрешение.Выполните следующий вызов API, чтобы просмотреть все политики в организации:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Если результат не возвращается, это означает, что у вас нет созданных политик в вашем клиенте.
Создание политики HRD с помощью Microsoft Graph
В этом примере вы создаете политику таким образом, что при назначении ее приложению, она либо:
- Автоматически перенаправляет пользователей на экран входа в федеративного поставщика удостоверений при входе в приложение, если в вашем клиенте имеется единственный домен.
- Автоматически направляет пользователей на экран входа поставщика федеративной идентификации, если у вашего клиента есть несколько федеративных доменов.
- Позволяет неинтерактивный вход с использованием имени пользователя и пароля непосредственно в Microsoft Entra ID для федеративных пользователей в приложениях, к которым применяются политики.
Следующая политика автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений при входе в приложение при наличии одного домена в клиенте.
В окне проводника Microsoft Graph сделайте следующее:
Предоставьте согласие
Policy.ReadWrite.ApplicationConfiguration
на разрешение.POST новую политику или PATCH для обновления существующей политики.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true}}" ], "displayName": "BasicAutoAccelerationPolicy", "isOrganizationDefault": true }
Следующая политика автоматически перенаправляет пользователей на экран входа в систему через федеративного поставщика идентификации, если в вашем клиенте есть более одного федеративного домена. Если у вас несколько федеративных доменов, выполняющих проверку подлинности пользователей для приложений, вам потребуется указать домен, для которого необходимо использовать автоматическое ускорение.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true,\"PreferredDomain\":\"federated.example.edu\"}}"
],
"displayName": "MultiDomainAutoAccelerationPolicy",
"isOrganizationDefault": true
}
Следующая политика включает проверку подлинности имени пользователя и пароля для федеративных пользователей непосредственно с идентификатором Microsoft Entra для определенных приложений:
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AllowCloudPasswordValidation\":true}}"
],
"displayName": "EnableDirectAuthPolicy"
}
Чтобы увидеть новую политику и получить его ObjectID, выполните следующий вызов API:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Чтобы применить политику HRD после ее создания, можно назначить ее нескольким служебным объектам.
Найдите субъект-службу для назначения политики с помощью Microsoft Graph
Вам потребуется ObjectID служебных принципалов, которым вы хотите назначить политику. Существует несколько способов найти ObjectID субъектов-служб.
Вы можете использовать Центр администрирования Microsoft Entra. Использование этого параметра:
Перейдите к Entra ID>Корпоративные приложения>Все приложения.
Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.
Поскольку вы используете средство Microsoft Graph Explorer, выполните следующий запрос, чтобы перечислить основные службы и их идентификаторы.
GET https://graph.microsoft.com/v1.0/servicePrincipals
Назначьте политику основной службе с помощью Microsoft Graph
После получения ObjectID основного служебного объекта приложения, для которого требуется настроить автоматическое ускорение, выполните следующий вызов API. Этот вызов API связывает созданную вами политику HRD с основным служебным объектом, найденным в предыдущих разделах.
Убедитесь, что вы даёте согласие на разрешение Application.ReadWrite.All
.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}"
}
Этот вызов API можно повторить для каждого сервисного принципала, которому необходимо добавить политику.
В случае, если у приложения уже назначена политика Home Realm Discovery, нельзя добавить вторую. В этом случае измените определение политики HRD, которая назначена приложению, чтобы добавить дополнительные параметры.
Проверьте, какие субъекты-службы назначены политике HRD с помощью Microsoft Graph
Выполните следующий вызов API, чтобы перечислить субъекты-службы, которым назначена политика:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}/appliesTo
Убедитесь, что вы протестируете интерфейс входа для приложения, чтобы убедиться, что новая политика работает.
Удаление политики HRD из приложения с помощью Microsoft Graph PowerShell
Получите объектный идентификатор политики.
Используйте предыдущий пример для получения ObjectID политики и субъекта-службы приложения, из которого требуется удалить его.
Удалите назначение политики из учетной записи службы приложения.
Remove-MgServicePrincipalHomeRealmDiscoveryPolicyHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId
Проверьте, было ли удаление выполнено, перечислив служебные принципы, которым назначена политика.
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Удаление политики HRD с помощью Microsoft Graph PowerShell
Чтобы удалить созданную политику HRD, выполните следующую команду:
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Удаление политики HRD из приложения с помощью Microsoft Graph
Получите объектный идентификатор политики.
Используйте предыдущий пример для получения ObjectID политики и субъекта-службы приложения, из которого требуется удалить его.
Удалите назначение политики из учетной записи службы приложения.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/{policyId}/$ref
Проверьте, было ли удаление выполнено, перечислив служебные принципы, которым назначена политика.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>/appliesTo
Удаление политики HRD с помощью Microsoft Graph
Чтобы удалить созданную политику HRD, выполните следующий вызов API:
DELETE https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{id}