Я получаю сообщение об ошибке при конвертировании экземпляра Azure AD в федеративный вариант, связанное с учетной записью, которая есть в домене. Что предпринять?

У меня был экземпляр Azure AD, которую я хотел переключить на федеративную аутентификацию вместо стандартной, однако при попытках сделать это я тоже получал сообщение об ошибке (см. экран 1).

 

Сообщение об ошибке при конвертировании
Экран 1. Сообщение об ошибке при конвертировании

Проблема заключалась в том, что я использовал учетную запись, которая имела права глобального администратора, но в то же время была частью пользовательского имени домена Azure AD, то есть savilltech.net. Помогло использование учетной записи, которая принадлежит абоненту, но имеет расширение onmicrosoft.com, например savilltech.onmicrosoft.com. Эта учетная запись также должна иметь права глобального администратора, тогда конверсия сработает.

Что требуется для использования федеративных отношений с экземпляром Azure AD?

Существует два способа аутентификации в Azure AD:

  • Встроенная аутентификация Azure AD, использующая имя пользователя и пароли (которые заведены в Azure или синхронизированы с помощью хэшей паролей локально установленной службы Active Directory при помощи коннектора Azure AD Connect).
  • Аутентификация в локальной Active Directory с помощью федеративных отношений.

Последний подход требует федеративного отношения между экземпляром вашей локальной службы Active Directory и экземпляром Azure AD. Это не означает, что служба Active Directory должна быть развернута локально. Она может поддерживаться в среде Azure IaaS, например. Для создания федеративного отношения необходимо сделать следующее:

  • Должен быть развернут сервер с ролью ADFS и должна быть выполнена исходная настройка, чтобы была привязка к локальному экземпляру Active Directory. Имя сервера ADFS должно быть публичным именем DNS, то есть sts.savilltech.com, а не внутренним именем типа savdaladfs01.savilltech.net.
  • Должен быть развернут сервер с установленной ролью Web Application Proxy (это часть службы удаленного доступа Remote Access в Windows Server 2012 R2), с исходными настройками, привязывающими его к серверу ADFS. Последний автоматически делает его сервером ADFS Proxy, доступным из Интернета, имеющим маршрутизируемый в Интернет адрес IP, внутренний сетевой IP-адрес и открытый порт 443. Кроме того, он должен иметь сертификат, соответствующий публичному имени установленного сервера ADFS. Обратите внимание, что нет настроек для определения того, какой IP-адрес является внутренним, а какой — внешним. WAP просто принимает все пакеты и автоматически управляет соединениями между сетями.
  • В Интернете нужно иметь запись DNS для публичного имени, например sts.savilltech.com. Она указывает на публичный IP-адрес экземпляра Web Application Proxy.
  • Если во внутренней и внешней сети вы используете одинаковую зону DNS (разделение зон DNS), тогда добавьте запись для ADFS, то есть sts.savilltech.com, которая укажет на внутренний адрес IP сервера ADFS (а не на публичный IP-адрес WAP). Если вы не используете разделение зон DNS, тогда создайте зону для полного имени, например sts.savilltech.com (но не зону, которая называется savilltech.com). Эта зона укажет на внутренний IP-адрес сервера ADFS.
  • Убедитесь, что Azure AD Connect уже запущен и есть синхронизация учетных записей.
  • У вас должна быть учетная запись абонента Azure AD, наделенная правами глобального администратора, но ее UPN не должен являться частью пользовательского имени домена для экземпляра Azure AD, то есть savilltech.net, которое имеет onmicrosoft.com, как имя домена.
  • Выполните код PowerShell для запуска федеративных отношений на системе с установленным модулем Azure AD PowerShell (см. экран 2).

 

Формирование федеративных отношений
Экран 2. Формирование федеративных отношений

У Microsoft есть статья на эту тему, опубликованная по адресу: https://msdn.microsoft.com/en-us/library/azure/jj205461.aspx, а также https://msdn.microsoft.com/en-us/library/dn194092.aspx. В листинге приведен пример конверсии с комментариями, которые объясняют каждый шаг данного процесса.

Вот все и готово. При аутентификации будет выполняться федеративная связь с локальным экземпляром Active Directory. Обратите внимание, что при получении доступа к службам вы можете добавить домашнюю область. Так вы предотвратите сканирование домашней области при наборе адреса, например: https://manage.windowsazure.com/savilltech.net вместо https://manage.windowsazure.com. Обратите внимание, что даже если интеграция происходит не совсем гладко, вы все равно можете зарегистрироваться с учетными записями, которые используют xxxx.onmicrosoft.com DNS UPN.

Как мне переключить федеративный экземпляр Azure AD на стандартную аутентификацию?

Если экземпляр Azure AD был переключен на использование федеративных отношений и вы хотите переключить его обратно на использование стандартной аутентификации, то убедитесь, что у вас есть настроенные соединения с Azure AD. Затем запустите команду, которая приведена ниже (подставив имя своего домена). Команда восстановит стандартную аутентификацию. Обратите внимание, что вам нужно задать файл пароля, который будет использоваться для хранения вновь сгенерированного случайного пароля для всех пользователей, которые не имеют пароля в Azure AD (это произойдет, если вы активировали синхронизацию, но не реплицировали хэши паролей с локальной AD; именно поэтому и требуется новый пароль). Кроме того, укажите, нужно ли конвертировать учетные записи пользователей.

Convert-MsolDomainToStandard -DomainName 'savilltech.net'
   -PasswordFile userpass.txt -SkipUserConversion $false
#which uses: Set-MSOLDomainAuthentication -Authentication
   Managed -DomainName 'savilltech.net'
Листинг. Установка федеративных отношений
#Save credential for an Azure AD account in the tenant that is using
   the @xxxx.onmicrosoft.com and is a global administrator
$cred=Get-Credential
#Connect to Azure AD as the credential
Connect-MsolService -Credential $cred
#Create a connection to the ADFS server. You will be prompted
   for a credential with administrative privileges on the ADFS server
Set-MsolAdfscontext -Computer savdaladfs01
#This next step should not be required but can fix problems if
   the federation conversion will not work
#Set-MsolPasswordPolicy -ValidityPeriod 90 -NotificationDays 14
   -DomainName 'savilltech.net'
#Switch to federation for authentication
Convert-MsolDomainToFederated -DomainName 'savilltech.net'