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


Поддержка нескольких доменов для федеративного подключения с идентификатором Microsoft Entra

В следующей документации приведены инструкции по использованию нескольких доменов верхнего уровня и поддоменов при федеративных доменах Microsoft 365 или Microsoft Entra.

Поддержка нескольких доменов верхнего уровня

Для федерации нескольких доменов верхнего уровня с идентификатором Microsoft Entra ID требуется дополнительная конфигурация, которая не требуется при федеративном использовании одного домена верхнего уровня.

Если домен федеративный с идентификатором Microsoft Entra, в Azure задано несколько свойств. Одним из важных является IssuerUri. Это свойство является универсальным кодом ресурса (URI), который используется идентификатором Microsoft Entra для идентификации домена, с которым связан маркер. Универсальный код ресурса (URI) не должен разрешаться ни к чему, но он должен быть допустимым универсальным кодом ресурса (URI). По умолчанию идентификатор Microsoft Entra задает универсальный код ресурса (URI) для идентификатора службы федерации в локальной конфигурации AD FS.

Заметка

Идентификатор службы федерации — это универсальный код ресурса (URI), который однозначно идентифицирует службу федерации. Служба федерации — это экземпляр AD FS, который работает в качестве службы маркеров безопасности.

Вы можете просмотреть issuerUri с помощью команды Get-MsolDomainFederationSettings -DomainName <your domain>PowerShell.

Заметка

Модули Azure AD и MSOnline PowerShell устарели с 30 марта 2024 г. Дополнительные сведения см. в обновлении об отмене. После этой даты поддержка этих модулей ограничена поддержкой миграции в пакет SDK Для Microsoft Graph PowerShell и исправления безопасности. Устаревшие модули будут продолжать функционировать до 30 марта 2025 года.

Рекомендуется перенести в Microsoft Graph PowerShell для взаимодействия с идентификатором Microsoft Entra (ранее — Azure AD). Часто задаваемые вопросы о миграции см. в разделе "Вопросы и ответы о миграции". Примечание. Версии 1.0.x MSOnline могут возникнуть сбоем после 30 июня 2024 г.

Проблема возникает при добавлении нескольких доменов верхнего уровня. Например, предположим, что вы настроили федерацию между идентификатором Microsoft Entra и локальной средой. Для этого документа используется домен bmcontoso.com. Теперь добавлен второй домен верхнего уровня, bmfabrikam.com.

Снимок экрана: несколько доменов верхнего уровня

При попытке преобразовать домен bmfabrikam.com в федерацию возникает ошибка. Причина заключается в том, что идентификатор Microsoft Entra имеет ограничение, которое не позволяет свойству IssuerUri иметь одно и то же значение для нескольких доменов.

Снимок экрана: ошибка федерации в PowerShell.

Параметр SupportMultipleDomain

Чтобы обойти это ограничение, необходимо добавить другой идентификатор IssuerUri, который можно сделать с помощью -SupportMultipleDomain параметра. Этот параметр используется со следующими командлетами:

  • New-MsolFederatedDomain
  • Convert-MsolDomaintoFederated
  • Update-MsolFederatedDomain

Этот параметр делает идентификатор Microsoft Entra настроить IssuerUri таким образом, чтобы он был основан на имени домена. IssuerUri будет уникальным в разных каталогах в идентификаторе Microsoft Entra. Использование параметра позволяет команде PowerShell успешно завершить работу.

Снимок экрана: успешное завершение команды PowerShell.

-SupportMultipleDomain не изменяет другие конечные точки, которые по-прежнему настроены для указания службы федерации на adfs.bmcontoso.com.

-SupportMultipleDomain также гарантирует, что система AD FS включает правильное значение издателя в токенах, выданных для идентификатора Microsoft Entra. Это значение задается путем приема части имени участника-пользователя и его использования в качестве домена в IssuerUri, то есть https://{upn suffix}/adfs/services/trust.

Таким образом, во время проверки подлинности с идентификатором Microsoft Entra или Microsoft 365 элемент IssuerUri в маркере пользователя используется для поиска домена в идентификаторе Microsoft Entra. Если совпадение не удается найти, проверка подлинности завершается ошибкой.

Например, если имя участника-пользователя имеет имя [email protected]участника-пользователя, для элемента IssuerUri в токене, издателе AD FS задано значение http://bmcontoso.com/adfs/services/trust. Этот элемент соответствует конфигурации Microsoft Entra, а проверка подлинности выполнена успешно.

Следующее настраиваемое правило утверждения реализует эту логику:

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)", "http://${domain}/adfs/services/trust/"));

Важный

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

Обновление доверия между AD FS и идентификатором Microsoft Entra

Если вы не настроили федеративное доверие между AD FS и экземпляром идентификатора Microsoft Entra, может потребоваться повторно создать это доверие. Причина заключается в том, что при первоначальной настройке без -SupportMultipleDomain параметра значение IssuerUri устанавливается со значением по умолчанию. На снимке экрана ниже отображается значение https://adfs.bmcontoso.com/adfs/services/trustIssuerUri.

Если вы успешно добавили новый домен в Центре администрирования Microsoft Entra, а затем попытаетесь преобразовать его с помощью Convert-MsolDomaintoFederated -DomainName <your domain>, вы получите следующую ошибку.

Снимок экрана: ошибка федерации в PowerShell после попытки преобразовать новый домен с помощью команды Convert-MsolDomaintoFederated.

При попытке добавить переключатель -SupportMultipleDomain вы получите следующую ошибку:

Снимок экрана: ошибка федерации после добавления переключателя -SupportMultipleDomain.

Просто попытка запуститься Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain в исходном домене также приведет к ошибке.

Ошибка федерации

Чтобы добавить дополнительный домен верхнего уровня, выполните приведенные ниже действия. Если вы уже добавили домен и не использовали -SupportMultipleDomain этот параметр, начните с шагов по удалению и обновлению исходного домена. Если вы еще не добавили домен верхнего уровня, можно начать с шагов по добавлению домена с помощью PowerShell Microsoft Entra Connect.

Чтобы удалить доверие Microsoft Online и обновить исходный домен, выполните следующие действия.

  1. На сервере федерации AD FS откройте службу управления AD FS.
  2. Слева разверните отношения доверия и отношения доверия проверяющей стороны.
  3. Справа удалите запись платформы удостоверений Microsoft Office 365. Удаление Microsoft Online
  4. На компьютере с модулем Azure AD PowerShell, установленным на нем, выполните следующую команду PowerShell: $cred=Get-Credential
  5. Введите имя пользователя и пароль администратора гибридного удостоверения для домена Microsoft Entra, с которым вы федеративны.
  6. В PowerShell введите Connect-MsolService -Credential $cred.
  7. В PowerShell введите Update-MSOLFederatedDomain -DomainName <Federated Domain Name> -SupportMultipleDomain. Это обновление предназначено для исходного домена. Таким образом, используя указанные выше домены, это будет: Update-MsolFederatedDomain -DomainName bmcontoso.com -SupportMultipleDomain

Чтобы добавить новый домен верхнего уровня с помощью PowerShell, выполните следующие действия.

  1. На компьютере с модулем Azure AD PowerShell, установленным на нем, выполните следующую команду PowerShell: $cred=Get-Credential
  2. Введите имя пользователя и пароль администратора гибридного удостоверения для домена Microsoft Entra, с которым вы федеративны
  3. В PowerShell введите Connect-MsolService -Credential $cred
  4. В PowerShell введите New-MsolFederatedDomain –SupportMultipleDomain –DomainName

Чтобы добавить новый домен верхнего уровня с помощью Microsoft Entra Connect, выполните следующие действия.

  1. Запуск Microsoft Entra Connect из классического или начального меню
  2. Выберите "Добавить дополнительный домен Microsoft Entra" Снимок экрана: страница
  3. Введите идентификатор Microsoft Entra и учетные данные Active Directory
  4. Выберите второй домен, который вы хотите настроить для федерации. Добавление дополнительного домена Microsoft Entra
  5. Нажмите кнопку "Установить"

Проверка нового домена верхнего уровня

С помощью команды Get-MsolDomainFederationSettings -DomainName <your domain>PowerShell можно просмотреть обновленный issuerUri. Снимок экрана ниже: параметры федерации были обновлены в исходном домене. http://bmcontoso.com/adfs/services/trust

И для нового домена задано значение IssuerUri https://bmcontoso.com/adfs/services/trust

Поддержка поддоменов

При добавлении поддомена из-за того, как идентификатор Microsoft Entra ID обрабатывает домены, он наследует параметры родительского элемента. Таким образом, IssuerUri должен соответствовать родителям.

Так можно сказать, например, что у меня есть bmcontoso.com, а затем добавить corp.bmcontoso.com. Идентификатор IssuerUri для пользователя из corp.bmcontoso.com должен быть http://bmcontoso.com/adfs/services/trust. Однако стандартное правило, реализованное выше для идентификатора Microsoft Entra, создает маркер с издателем, так как http://corp.bmcontoso.com/adfs/services/trustэто не соответствует требуемому значению домена и проверке подлинности.

Включение поддержки поддоменов

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

Используйте следующее утверждение:

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));

[! ПРИМЕЧАНИЕ. Последнее число в наборе регулярных выражений — количество родительских доменов в корневом домене. Здесь используется bmcontoso.com, поэтому необходимы два родительских домена. Если бы три родительских домена были сохранены (то есть corp.bmcontoso.com), то число было бы три. В конечном итоге можно указать диапазон, совпадение выполняется для сопоставления максимума доменов. "{2,3}" соответствует двум-трем доменам (то есть bmfabrikam.com и corp.bmcontoso.com).

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

  1. Открытие службы управления AD FS
  2. Щелкните правой кнопкой мыши доверие Microsoft Online RP и выберите пункт "Изменить правила утверждения"
  3. Выберите третье правило утверждения и замените Изменение утверждения
  4. Замените текущее утверждение:
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)","http://${domain}/adfs/services/trust/"));

с

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));

Замена утверждения

  1. Нажмите кнопку "ОК". Нажмите кнопку "Применить". Нажмите кнопку "ОК". Закройте управление AD FS.

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

После установки Microsoft Entra Connect можно проверить установку и назначить лицензии.

Дополнительные сведения об этих функциях, которые были включены при установке: автоматическое обновление, предотвращение случайного удаления и Microsoft Entra Connect Health.

Дополнительные сведения об этих распространенных разделах: планировщик и как активировать синхронизацию.

Узнайте больше об интеграции локальных удостоверений с идентификатором Microsoft Entra.