Настройка автоматического ускорения входа
В этом статье дается введение в настройку поведения аутентификации 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. Использование этого параметра:
- Перейдите в Раздел>Идентификация>Корпоративные приложения>Все приложения.
- Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.
Поскольку вы используете 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 для разрешения устаревшему приложению выполнять прямую проверку подлинности по имени пользователя и паролю в 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. Использование этого параметра:
Перейдите в Раздел>Идентификация>Корпоративные приложения>Все приложения.
Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.
Поскольку вы используете средство 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}