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


Изменение типа проверки подлинности поддомена в идентификаторе Microsoft Entra

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

В портал Azure, если родительский домен федеративный, а администратор пытается проверить управляемый поддомен на странице "Имена пользовательских доменов", вы получите ошибку "Не удалось добавить домен" с причиной "Одно или несколько свойств содержит недопустимые значения". При попытке добавить этот поддомен из Центр администрирования Microsoft 365 вы получите аналогичную ошибку. Дополнительные сведения об ошибке см. в разделе Дочерний домен не наследует изменения родительского домена в Office 365, Azure или Intune.

Так как поддомены наследуют тип проверки подлинности корневого домена по умолчанию, необходимо повысить поддомен в корневой домен в идентификаторе Microsoft Entra с помощью Microsoft Graph, чтобы можно было задать тип проверки подлинности в нужный тип.

Примечание.

Модули 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 г.

Предупреждение

Данный код предоставляется в качестве примера для демонстрации. Если вы планируете использовать его в своей среде, вам следует протестировать его в небольшом масштабе или с применением отдельной тестовой организации. Может потребоваться изменить этот код в соответствии с потребностями вашей среды.

Добавление поддомена

  1. Используйте PowerShell, чтобы добавить новый поддомен, имеющий тип проверки подлинности по умолчанию корневого домена. Идентификатор Microsoft Entra и Центр администрирования Microsoft 365 еще не поддерживают эту операцию.

    Connect-MgGraph -Scopes "Domain.ReadWrite.All"
     $param = @{
       id="test.contoso.com"
       AuthenticationType="Federated"  
      }
    New-MgDomain -Name "child.mydomain.com" -Authentication Federated
    
  2. Чтобы получить домен, используйте приведенный ниже пример. Так как домен не является корневым доменом, он наследует тип проверки подлинности корневого домена. Ваша команда и результаты могут выглядеть следующим образом при использовании собственного идентификатора клиента:

Примечание.

Выдача этого запроса может выполняться непосредственно в графе Обозреватель.

GET https://graph.microsoft.com/v1.0/domains/foo.contoso.com/

Return:
  {
      "authenticationType": "Federated",
      "availabilityStatus": null,
      "isAdminManaged": true,
      "isDefault": false,
      "isDefaultForCloudRedirections": false,
      "isInitial": false,
      "isRoot": false,          <---------------- Not a root domain, so it inherits parent domain's authentication type (federated)
      "isVerified": true,
      "name": "child.mydomain.com",
      "supportedServices": [],
      "forceDeleteState": null,
      "state": null,
      "passwordValidityPeriodInDays": null,
      "passwordNotificationWindowInDays": null
  },

Изменение поддомена на корневой домен

Для повышения уровня поддомена используйте команду:

POST https://graph.microsoft.com/v1.0/{tenant-id}/domains/foo.contoso.com/promote

Условия возникновения ошибок команды повышения уровня

Сценарий Способ Код Сообщение
Вызов API с поддоменом, родительский домен которого не проверен POST 400 Не удается повысить уровень непроверенных доменов. Перед повышением уровня проверьте домен.
Вызов API с федеративным проверенным поддоменом со ссылками на пользователей POST 400 Повышение поддомена с помощью ссылок пользователей не допускается. Перед повышением уровня поддомена перенесите пользователей в текущий корневой домен.

Изменение типа проверки подлинности поддомена на управляемое

Внимание

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

  1. Для изменения типа проверки подлинности поддомена используйте команду:

    Connect-MGGraph -Scopes "Domain.ReadWrite.All", "Directory.AccessAsUser.All"
    Update-MgDomain -DomainId "test.contoso.com" -BodyParameter @{AuthenticationType="Managed"}
    
  2. Проверьте с помощью GET в API Microsoft Graph, что тип проверки подлинности поддомена теперь является управляемым:

    GET https://graph.microsoft.com/v1.0/domains/foo.contoso.com/
    
    Return:
      {
          "authenticationType": "Managed",   <---------- Now this domain is successfully added as Managed and not inheriting Federated status
          "availabilityStatus": null,
          "isAdminManaged": true,
          "isDefault": false,
          "isDefaultForCloudRedirections": false,
          "isInitial": false,
          "isRoot": true,   <------------------------------ Also a root domain, so not inheriting from parent domain any longer
          "isVerified": true,
          "name": "child.mydomain.com",
          "supportedServices": [
              "Email",
              "OfficeCommunicationsOnline",
              "Intune"
          ],
          "forceDeleteState": null,
          "state": null,
          "passwordValidityPeriodInDays": null,
          "passwordNotificationWindowInDays": null }
    

Следующие шаги