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


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

В этом статье дается введение в настройку поведения аутентификации 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.

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

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

    Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
    

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

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

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

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

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

  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 для автоматической оптимизации приложения для одного из нескольких доменов, проверенных для вашей организации.

  • Настройка политики HRD для разрешения устаревшему приложению выполнять прямую проверку подлинности по имени пользователя и паролю в Microsoft Entra ID для федеративного пользователя.

  • получение списка приложений, для которых настроена политика.

В следующих примерах вы создаете, обновляете, связываете и удаляете политики HRD в основных объектах служб приложений в Microsoft Entra ID.

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

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

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

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

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

Если ничего не возвращается, это означает, что у вас нет созданных политик в вашем арендаторе.

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

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

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

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

В окне проводника 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. Перейдите в Раздел>Идентификация>Корпоративные приложения>Все приложения.

  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 можно повторить для каждого сервисного принципала, которому необходимо добавить политику.

В случае, если у приложения уже назначена политика Home Realm Discovery, нельзя добавить вторую. В этом случае измените определение политики 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}