Настройка автоматического ускорения входа
В этой статье приведены общие сведения о настройке поведения проверки подлинности Microsoft Entra для федеративных пользователей с помощью политики обнаружения домашней области (HRD). Он охватывает использование автоматического ускорения входа, чтобы пропустить экран входа пользователя и автоматически перенаправить пользователей в федеративные конечные точки входа. Дополнительные сведения о политике HRD см. в статье "Обнаружение домашней области".
Необходимые компоненты
Чтобы настроить политику HRD для приложения в идентификаторе Microsoft Entra ID, вам потребуется:
- Учетная запись Azure с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
- Роль администратора приложений
Автоматический вход в систему
Некоторые организации настраивают домены в клиенте Microsoft Entra для федерации с другим поставщиком удостоверений (IDP), например службы федерации Active Directory (AD FS) (ADFS) для проверки подлинности пользователей. При входе пользователя в приложение они сначала представлены на странице входа в Microsoft Entra. После ввода имени участника-пользователя (UPN), если они находятся в федеративном домене, они будут доставлены на страницу входа поставщика удостоверений, обслуживающих этот домен. При определенных обстоятельствах у администраторов может возникнуть необходимость направлять пользователей на страницу входа, когда они пытаются войти в определенные приложения. В результате пользователи могут пропустить начальную страницу идентификатора Microsoft Entra. Этот процесс называется автоматическим ускорением входа.
Для федеративных пользователей с облачными учетными данными, например для входа в службу коротких сообщений (SMS) или ключей FIDO, следует запретить автоматическое ускорение входа. Сведения о том, как запретить указания домена с помощью обнаружения домашней области, см. в разделе Отключение автоматического ускорения входа.
Внимание
Начиная с апреля 2023 года организации, использующие автоматическое ускорение или смарт-связи, могут начать видеть новый экран, добавленный в пользовательский интерфейс входа. Этот экран называется диалогом подтверждения домена, является частью общей приверженности Корпорации Майкрософт обеспечению безопасности и требует от пользователя подтвердить домен клиента, в котором они входят. Если вы видите диалоговое окно подтверждения домена и не распознаете указанный домен клиента, необходимо отменить поток проверки подлинности и обратиться к ИТ-администратору.
Дополнительные сведения см . в диалоговом окне подтверждения домена.
Настройка политики HRD с помощью Microsoft Graph PowerShell
Мы используем командлеты Microsoft Graph PowerShell для разбора нескольких сценариев, в том числе:
- настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения в клиенте с одним федеративным доменом;
- настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения для одного из нескольких доменов, проверенных для вашего клиента;
- Настройка политики HRD, чтобы разрешить устаревшему приложению выполнять прямую проверку подлинности имени пользователя и пароля в идентификатор Microsoft Entra id для федеративного пользователя.
- получение списка приложений, для которых настроена политика.
В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD в субъектах-службах приложений в идентификаторе Microsoft Entra.
Прежде чем начать, выполните команду Connect, чтобы войти в идентификатор Microsoft Entra с по крайней мере ролью администратора приложений :
connect-MgGraph -scopes "Policy.Read.All"
Выполните следующую команду для просмотра всех политик в организации.
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Если результат не возвращается, в клиенте нет созданных политик.
Создание политики HRD с помощью Microsoft Graph PowerShell
В этом примере создается политика, которая при назначении ее приложению:
- Автоматически ускоряет пользователей на экране входа в федеративный поставщик удостоверений при входе в приложение при наличии одного домена в клиенте.
- Автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений, если в клиенте существует несколько федеративных доменов.
- Включает неинтерактивный вход пользователя или пароля непосредственно в идентификатор Microsoft Entra для федеративных пользователей для приложений, которым назначена политика.
Следующая политика автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений при входе в приложение при наличии одного домена в клиенте.
Выполните команду 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, чтобы разрешить устаревшему приложению выполнять прямую проверку подлинности имени пользователя и пароля в идентификатор Microsoft Entra id для федеративного пользователя.
получение списка приложений, для которых настроена политика.
В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD в субъектах-службах приложений в идентификаторе Microsoft Entra.
Перед началом работы перейдите к окну обозревателя Microsoft Graph.
Предоставьте согласие
Policy.Read.All
на разрешение.Выполните следующий вызов API, чтобы просмотреть все политики в организации:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Если результат не возвращается, в клиенте нет созданных политик.
Создание политики HRD с помощью Microsoft Graph
В этом примере создается политика, которая при назначении ее приложению:
- Автоматически ускоряет пользователей на экране входа в федеративный поставщик удостоверений при входе в приложение при наличии одного домена в клиенте.
- Автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений, если в клиенте существует несколько федеративных доменов.
- Включает неинтерактивный вход пользователя или пароля непосредственно в идентификатор Microsoft Entra для федеративных пользователей для приложений, которым назначена политика.
Следующая политика автоматически ускоряет пользователей на экране входа федеративного поставщика удостоверений при входе в приложение при наличии одного домена в клиенте.
В окне песочницы 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. Использование этого параметра:
Перейдите к Identity>приложениям>корпоративным приложениям>Все приложения.
Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.
Поскольку вы используете средство 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 можно повторить для каждого сервисного принципала, которому необходимо добавить политику.
В случае, если у приложения уже назначена политика обнаружения домашней области, вторую добавить нельзя. В этом случае измените определение политики 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}