Microsoft Entra ID でサブドメイン認証の種類を変更する

ルート ドメインが Microsoft Entra の一部である Microsoft Entra ID に追加されると、Microsoft Entra 組織内のそのルートに追加された後続のすべてのサブドメインは、ルート ドメインから認証設定を自動的に継承します。 ただし、ルート ドメイン設定とは別にドメイン認証設定を管理する場合は、現在、Microsoft Graph API を使用できます。 たとえば、フェデレーション ルート ドメイン (contoso.com など) がある場合、この記事を参照すると、child.contoso.com などのサブドメインをフェデレーションではなくマネージドとして検証するために役立てることができます。

Azure portal で、親ドメインがフェデレーションされていて、管理者が [カスタム ドメイン名] ページでマネージド サブドメインを検証しようとすると、"1 つ以上のプロパティに無効な値が含まれている" という理由で "ドメインを追加できませんでした" というエラーが表示されます。Microsoft 365 管理センターからこのサブドメインを追加しようとすると、同様のエラーが表示されます。 このエラーの詳細については、「子ドメインは、Office 365、Azure、または Intune で親ドメインの変更を継承しない」を参照してください。

サブドメインは既定でルート ドメインの認証の種類を継承するため、Microsoft Graph を使用して Microsoft Entra ID でサブドメインをルート ドメインに昇格させる必要があります。これにより、認証の種類を目的の種類に設定できます。

重要

Azure AD PowerShell は 2024 年 3 月 30 日に非推奨となる予定です。 詳細については、非推奨の最新情報を参照してください。 Microsoft Entra ID (旧称 Azure AD) を使用するには、Microsoft Graph PowerShell に移行することをお勧めします。 Microsoft Graph PowerShell を使うと、すべての Microsoft Graph API にアクセスできます。また、PowerShell 7 上で使用できます。 一般的な移行の質問に対する回答については、移行に関する FAQ を参照してください。

警告

このコードは、デモンストレーション用のサンプルとして提供されています。 ご利用の環境で使用する場合は、まず小規模にテストするか別のテスト組織でテストすることを検討してください。 お使いの環境の具体的なニーズに合わせてコードの調整が必要になる場合があります。

サブドメインを追加する

  1. PowerShell を使用して、ルート ドメインの既定の認証の種類を持つ新しいサブドメインを追加します。 Microsoft Entra ID および Microsoft 365 管理センターでは、この操作はまだサポートされていません。

    Connect-MgGraph -Scopes "Domain.ReadWrite.All"
     $param = @{
       id="test.contoso.com"
       AuthenticationType="Federated"  
      }
    New-MgDomain -Name "child.mydomain.com" -Authentication Federated
    
  2. ドメインを取得するには、次の例を使用します。 ドメインはルート ドメインではないため、ルート ドメインの認証の種類を継承します。 コマンドと結果は次のようになります。独自のテナント ID を使用しています。

注意

この要求の発行は、Graph Explorer で直接実行できます。

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

コマンド エラー条件の昇格

シナリオ Method コード Message
親ドメインが検証されていないサブドメインを使用して API を呼び出す POST 400 未検証のドメインは昇格できません。 昇格の前にドメインを検証してください。
フェデレーション検証済みサブドメインとユーザー参照を使用して API を呼び出す POST 400 ユーザー参照を使用してサブドメインを昇格することはできません。 サブドメインを昇格させる前に、ユーザーを現在のルート ドメインに移行してください。

サブドメインの認証の種類をマネージドに変更する

重要

フェデレーション サブドメインの認証の種類を変更する場合は、次の手順を完了する前に、既存のフェデレーション構成値をメモしておく必要があります。 この情報は、ドメインを昇格する前にフェデレーションを再実装する場合に必要になることがあります。

  1. 次のコマンドを使用して、サブドメインの認証の種類を変更します。

    Update-MgDomain -DomainId "test.contoso.com" -BodyParameter @{AuthenticationType="Managed"}
    
  2. Microsoft Graph API で GET を使って、サブドメイン認証の種類がマネージドになったことを確認します。

    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 }
    

次のステップ