Поделиться через


Настройка автоматического ускорения входа

В этой статье приведены общие сведения о настройке поведения проверки подлинности 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.

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

    connect-MgGraph -scopes "Policy.Read.All"
    
  2. Выполните следующую команду для просмотра всех политик в организации.

    Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
    

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

Создание политики HRD с помощью Microsoft Graph PowerShell

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

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

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

  1. Выполните команду Connect, чтобы войти в Microsoft Entra ID как минимум с ролью администратора приложений .

    connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
    
    
  2. Выполните следующую команду, чтобы создать новую политику 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. Использование этого параметра:

  1. Перейдите в Раздел>Идентификация>Корпоративные приложения>Все приложения.
  2. Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.

Так как вы используете 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.

  1. Перед началом работы перейдите к окну обозревателя Microsoft Graph.

  2. Войдите по крайней мере с ролью администратора приложений .

  3. Предоставьте согласие Policy.Read.All на разрешение.

  4. Выполните следующий вызов API, чтобы просмотреть все политики в организации:

    GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
    

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

Создание политики HRD с помощью Microsoft Graph

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

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

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

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

  1. Войдите по крайней мере с ролью администратора приложений .

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

  3. 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. Использование этого параметра:

  1. Перейдите к Identity>приложениям>корпоративным приложениям>Все приложения.

  2. Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска. Скопируйте идентификатор объекта приложения.

    Поскольку вы используете средство 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

  1. Получите объектный идентификатор политики.

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

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

    Remove-MgServicePrincipalHomeRealmDiscoveryPolicyHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId
    
  3. Проверьте, было ли удаление выполнено, перечислив служебные принципы, которым назначена политика.

    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

  1. Получите объектный идентификатор политики.

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

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

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/{policyId}/$ref
    
  3. Проверьте удаление, перечислив субъекты-службы, которым назначена политика.

    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}