Настройка поведения входа

В этой статье содержатся общие сведения о настройке поведения при проверке подлинности Azure Active Directory (Azure AD) для федеративных пользователей с помощью политики обнаружения домашних областей (HRD). Здесь описывается использование автоматического ускорения для пропуска экрана с запросом на ввод имени пользователя и автоматического перенаправления пользователей на конечные точки федеративного входа в систему. Корпорация Майкрософт больше не рекомендует настраивать автоматическое ускорение, так как оно может препятствовать использованию усиленных методов проверки подлинности, таких как FIDO (First Identity Online), и мешает совместной работе.

Предварительные требования

Чтобы настроить политику HRD для приложения в Azure AD, вам потребуется:

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
  • Одна из следующих ролей: глобальный администратор, администратор облачных приложений, администратор приложений или владелец субъекта-службы.
  • Последняя предварительная версия командлетов PowerShell для Azure AD.

Настройка политики HRD для приложения

Мы будем использовать командлеты PowerShell для Azure AD, чтобы изучить несколько сценариев, включая:

  • настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения в клиенте с одним федеративным доменом;

  • настройку политики обнаружения домашней области для выполнения автоматического ускорения входа для приложения для одного из нескольких доменов, проверенных для вашего клиента;

  • настройку политики обнаружения домашней области для разрешения приложениям прежних версий выполнять прямую проверку подлинности по имени пользователя и паролю в Azure AD для федеративного пользователя;

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

В примерах ниже создаются, обновляются, связываются и удаляются политики для субъектов-служб приложения в Azure AD.

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

    Connect-AzureAD -Confirm
    
  2. Выполните следующую команду для просмотра всех политик в организации.

    Get-AzureADPolicy
    

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

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

  • Выполняет автоматическое ускорение входа пользователей и переводит их на экран входа AD FS (когда они выполняют вход в систему в приложении), если в клиенте имеется один домен.
  • Выполняет автоматическое ускорение входа пользователей и переводит их на экран входа AD FS, если в клиенте имеется несколько федеративных доменов.
  • Разрешает неинтерактивный вход с использованием имени пользователя и пароля прямо в Azure AD для федеративных пользователей в приложениях, которым назначена политика.

Создание политики обнаружения домашней области

Указанная ниже политика выполняет автоматическое ускорение входа пользователей и переводит их на экран входа AD FS (когда они выполняют вход в систему в приложении), если в клиенте имеется один домен.

New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true}}") -DisplayName BasicAutoAccelerationPolicy -Type HomeRealmDiscoveryPolicy

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

New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true, `"PreferredDomain`":`"federated.example.edu`"}}") -DisplayName MultiDomainAutoAccelerationPolicy -Type HomeRealmDiscoveryPolicy

Чтобы создать политику, разрешающую проверку подлинности по имени пользователя и паролю для федеративных пользователей непосредственно в Azure AD для определенных приложений, выполните следующую команду:

New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName EnableDirectAuthPolicy -Type HomeRealmDiscoveryPolicy

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

Get-AzureADPolicy

Чтобы применить политику обнаружения домашней области после ее создания, можно назначить ее нескольким субъектам-службам приложения.

Поиск субъекта-службы для назначения политики

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

Можно использовать портал Azure или отправить запрос к Microsoft Graph. Можно также открыть Graph Explorer Tool и войти в учетную запись Azure AD, чтобы просмотреть список всех субъектов-служб в своей организации.

Так как используется PowerShell, можно использовать следующий командлет, чтобы вывести список субъектов-служб и их идентификаторов.

Get-AzureADServicePrincipal

Назначение политики для субъекта-службы

Получив идентификатор ObjectID субъекта-службы приложения, для которого требуется настроить автоматическое ускорение, выполните следующую команду. Эта команда привязывает политику обнаружения домашней области, созданную на шаге 1, к субъекту-службе, определенному на шаге 2.

Add-AzureADServicePrincipalPolicy -Id <ObjectID of the Service Principal> -RefObjectId <ObjectId of the Policy>

Эту команду можно повторить для каждого субъекта-службы, для которого необходимо добавить политику.

Если приложению уже назначена политика HomeRealmDiscovery, вам не удастся назначить ему еще одну такую политику. В этом случае измените определение политики обнаружения домашней области, которая назначена приложению, чтобы добавить дополнительные параметры.

Проверка субъектов-служб приложения, которым назначена политика обнаружения домашней области

Чтобы проверить, для каких приложений настроена политика обнаружения домашней области, воспользуйтесь командлетом Get-AzureADPolicyAppliedObject. Передайте в него идентификатор ObjectID политики, которую нужно проверить.

Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

Try the application to check that the new policy is working.

### List the applications for which HRD policy is configured

1. List all policies that were created in your organization

```powershell
Get-AzureADPolicy

Запишите идентификатор ObjectID политики, для которой вы хотите получить список назначений.

  1. Получение списка субъектов-служб, которым назначена политика
Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

Удаление политики HRD из приложения

  1. Получение идентификатора ObjectID

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

  1. Удаление назначения политики из субъекта-службы приложения
Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal>  -PolicyId <ObjectId of the policy>
  1. Проверка удаления путем получения списка субъектов-служб, которым назначена политика
Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

Дальнейшие действия