テナント間同期を構成する

この記事では、Microsoft Entra 管理センターを利用してテナント間同期を構成する手順について説明します。 構成すると、Microsoft Entra ID では、ターゲット テナント内の B2B ユーザーが自動的にプロビジョニングおよびプロビジョニング解除されます。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Microsoft Entra ID による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。

Diagram that shows cross-tenant synchronization between source tenant and target tenant.

学習の目的

この記事を最後まで読むと、次のことができるようになります。

  • ターゲット テナントで B2B ユーザーを作成する
  • ターゲット テナントで B2B ユーザーを削除する
  • ソースとターゲットのテナント間でユーザー属性の同期を維持する

前提条件

Icon for the source tenant.
ソース テナント

Icon for the target tenant.
ターゲット テナント

手順 1:プロビジョニングのデプロイを計画する

  1. 組織内のテナントを構成する方法を定義します。

  2. プロビジョニング サービスのしくみを確認します。

  3. プロビジョニングの対象となるユーザーを決定します。

  4. テナント間でマップするデータを決定します。

手順 2: ターゲット テナントでユーザーの同期を有効にする

ヒント

この記事の手順は、開始するポータルに応じて若干異なる場合があります。

Icon for the target tenant.
ターゲット テナント

  1. ターゲット テナントの Microsoft Entra 管理センターにサインインします。

  2. [ID][External Identities][テナント間アクセス設定] の順に移動します。

  3. [組織の設定] タブで、[組織の追加] を選びます。

  4. テナント ID またはドメイン名を入力して [追加] を選び、ソース テナントを追加します。

    Screenshot that shows the Add organization pane to add the source tenant.

  5. 追加された組織の [Inbound access] (インバウンド アクセス) で、[既定値から継承] を選びます。

  6. [テナント間同期] タブを選びます。

  7. [ユーザーにこのテナントへの同期を許可する] チェック ボックスをオンにします。

    Screenshot that shows the Cross-tenant sync tab with the Allow users sync into this tenant check box.

  8. [保存] を選択します。

  9. [テナント間同期と自動引き換えを有効にする] ダイアログ ボックスで自動引き換えを有効にするか問われた場合、[はい] を選択します。

    [はい] を選択すると、ターゲット テナントで招待が自動的に引き換えられます。

    Screenshot that shows the Enable cross-tenant sync and auto-redemption dialog box to automatically redeem invitations in the target tenant.

手順 3: ターゲット テナントで招待を自動的に引き換える

Icon for the target tenant.
ターゲット テナント

このステップでは、ソース テナントのユーザーが同意プロンプトに同意する必要がないように、招待を自動的に引き換えます。 この設定は、ソース テナント (アウトバウンド) とターゲット テナント (インバウンド) の両方でオンにする必要があります。 詳しくは、「自動引き換えの設定」をご覧ください。

  1. ターゲット テナントの同じ [受信アクセスの設定] ページで、[信頼の設定] タブを選択します。

  2. [テナントで招待を自動的に引き換える]<テナント> チェック ボックスをオンにします。

    [テナント間同期と自動引き換えを有効にする] ダイアログ ボックスで以前に [はい] を選択した場合、このボックスにはすでにオンになっている可能性があります。

    Screenshot that shows the inbound Automatic redemption check box.

  3. [保存] を選択します。

手順 4: ソース テナントで招待を自動的に引き換える

Icon for the source tenant.
ソース テナント

このステップでは、ソース テナントで招待を自動的に引き換えます。

  1. ソース テナントの Microsoft Entra 管理センターにサインインします。

  2. [ID][External Identities][テナント間アクセス設定] の順に移動します。

  3. [組織の設定] タブで、[組織の追加] を選びます。

  4. テナント ID またはドメイン名を入力して [追加] を選び、ターゲット テナントを追加します。

    Screenshot that shows the Add organization pane to add the target tenant.

  5. ターゲット組織の [Outbound access] (アウトバウンド アクセス) で、[既定値から継承] を選びます。

  6. [信頼の設定] タブを選択します。

  7. [テナントで招待を自動的に引き換える]<テナント> チェック ボックスをオンにします。

    Screenshot that shows the outbound Automatic redemption check box.

  8. [保存] を選択します。

手順 5: ソース テナントで構成を作成する

Icon for the source tenant.
ソース テナント

  1. ソース テナントで、[ID][External Identities][テナント間同期] の順に参照します。

  2. [構成] を選択します。

  3. ページの先頭にある [新しい構成] を選びます。

  4. 構成の名前を指定して、[作成] を選びます。

    作成した構成が一覧に表示されるまで、最大で 15 秒かかる場合があります。

手順 6: ターゲット テナントへの接続をテストする

Icon for the source tenant.
ソース テナント

  1. ソース テナントに新しい構成が表示されるはずです。 表示されない場合、構成リストで構成を選択します。

    Screenshot that shows the Cross-tenant synchronization Configurations page and a new configuration.

  2. [Get started](作業を開始する) を選択します。

  3. [プロビジョニング モード][自動] に設定します。

  4. [管理者資格情報] セクションで、[認証方法][Cross Tenant Synchronization Policy] (テナント間同期ポリシー) に変更します。

    Screenshot that shows the Provisioning page with the Cross Tenant Synchronization Policy selected.

  5. [テナント ID] ボックスに、ターゲット テナントのテナント ID を入力します。

  6. [テスト接続] を選んで接続をテストします。

    指定した資格情報でプロビジョニングを有効にすることが承認されたことを示すメッセージが表示されます。 テスト接続が失敗した場合は、この記事で後述する「トラブルシューティングのヒント」をご覧ください。

    Screenshot that shows a testing connection notification.

  7. [保存] を選択します。

    [マッピング] と [設定] セクションが表示されます。

  8. [プロビジョニング] ページを閉じます。

手順 7: プロビジョニングの対象となるユーザーを定義する

Icon for the source tenant.
ソース テナント

Microsoft Entra プロビジョニング サービスを使うと、次のいずれかまたは両方の方法でプロビジョニングを行うユーザーを定義できます。

  • 構成への割り当てに基づく
  • ユーザーの属性に基づく

小さいところから始めましょう。 全員にロールアウトする前に、少数のユーザーでテストします。 プロビジョニングのスコープを割り当て済みのユーザーとグループに設定すると、構成に 1 人または 2 人のユーザーを割り当てることで、それを制御できます。 次のステップで説明する属性ベースのスコープ フィルターを作成することで、プロビジョニングの対象となるユーザーをさらに調整できます。

  1. ソース テナントで、[プロビジョニング] を選択し、[設定] セクションを展開します。

    Screenshot of the Provisioning page that shows the Settings section with the Scope and Provisioning Status options.

  2. [スコープ] の一覧で、ソース テナントのすべてのユーザーを同期するか、構成に割り当てられているユーザーのみを同期するかを選びます。

    [すべてのユーザーとグループを同期する] ではなく、[割り当てられたユーザーとグループのみを同期する] を選ぶことをお勧めします。 スコープ内のユーザーの数を減らすと、パフォーマンスが向上します。

  3. 変更した場合、[保存] を選択します。

  4. 構成ページで、[ユーザーとグループ] を選びます。

    テナント間同期が機能するには、少なくとも 1 人の内部ユーザーを構成に割り当てる必要があります。

  5. [Add user/group](ユーザーまたはグループの追加) を選択します。

  6. [割り当ての追加] ページで、[ユーザーとグループ] の下にある [選択されていません] を選びます。

  7. [ユーザーとグループ] ペインで、構成に割り当てる内部ユーザーまたはグループを 1 つ以上検索して選びます。

    グループを選んで構成に割り当てた場合、グループ内の直接メンバーであるユーザーのみがプロビジョニングの対象になります。 静的グループまたは動的グループを選択できます。 割り当ては、入れ子になったグループにはカスケードされません。

  8. [選択] を選択します。

  9. [割り当て] を選択します。

    Screenshot that shows the Users and groups page with a user assigned to the configuration.

    詳しくは、「アプリケーションにユーザーとグループを割り当てる」をご覧ください。

手順 8: (省略可能) スコープ フィルターを使用してプロビジョニングのスコープ内のユーザーを定義する

Icon for the source tenant.
ソース テナント

前のステップで [スコープ] に選んだ値に関係なく、属性ベースのスコープ フィルターを作ることで、同期されるユーザーをさらに制限できます。

  1. ソース テナントで、[プロビジョニング] を選択し、[マッピング] セクションを展開します。

    Screenshot that shows the Provisioning page with the Mappings section expanded.

  2. [Microsoft Entra ID ユーザーのプロビジョニング] を選択し、属性マッピング ページを開きます。

  3. [ソース オブジェクト スコープ] で、[ すべてのレコード] を選びます。

    Screenshot that shows the Attribute Mapping page with the Source Object Scope.

  4. [ソース オブジェクト スコープ] ページで、[スコープ フィルターの追加] を選びます。

  5. プロビジョニングのスコープ内のユーザーを定義するスコープ フィルターを追加します。

    スコープ フィルターの構成については、「スコープ フィルターを使用した属性ベースのアプリケーション プロビジョニング」の手順をご覧ください。

    Screenshot that shows the Add Scoping Filter page with sample filter.

  6. [OK][保存] を選んですべての変更を保存します。

    フィルターを追加した場合、変更を保存すると、割り当てられたすべてのユーザーとグループが再同期されることを示すメッセージが表示されます。 ディレクトリのサイズによっては、これに長い時間かかる場合があります。

  7. [はい] を選んで、[属性マッピング] ページを閉じます。

手順 9: 属性マッピングを確認する

Icon for the source tenant.
ソース テナント

属性マッピングを使うと、ソース テナントとターゲット テナントの間でデータが流れる方法を定義できます。 既定の属性マッピングをカスタマイズする方法については、「チュートリアル - Microsoft Entra ID の SaaS アプリケーションに対するユーザー プロビジョニング属性マッピングをカスタマイズする」を参照してください。

  1. ソース テナントで、[プロビジョニング] を選択し、[マッピング] セクションを展開します。

  2. [Microsoft Entra ID ユーザーのプロビジョニング] を選択します。

  3. [属性マッピング] ページを下にスクロールし、テナント間で同期されるユーザー属性を [属性マッピング] セクションで確認します。

    最初の属性 alternativeSecurityIdentifier は、テナント間でユーザーを一意に識別し、ソース テナント内のユーザーとターゲット テナント内の既存のユーザーを照合し、各ユーザーが 1 つのアカウントしか持たないようにするために使用される内部属性です。 一致する属性は変更できません。 一致属性の変更または一致属性の追加を試みると、schemaInvalid エラーが発生します。

    Screenshot of the Attribute Mapping page that shows the list of Microsoft Entra attributes.

  4. [メンバー (userType)] 属性を選択し、[属性の編集] ページを開きます。

  5. userType 属性の [定数値] の設定を確認します。

    この設定では、ターゲット テナントに作成されるユーザーの種類を定義し、次の表のいずれかの値を指定できます。 既定では、ユーザーは外部メンバー (B2B コラボレーション ユーザー) として作成されます。 詳細については、Microsoft Entra B2B コラボレーション ユーザーのプロパティに関するページをご覧ください。

    定数値 説明
    メンバー 既定値。 ユーザーは、外部メンバー (B2B コラボレーション ユーザー) としてターゲット テナントに作成されます。 ユーザーは、ターゲット テナントの任意の内部メンバーとして機能できます。
    ゲスト ユーザーは、外部ゲスト (B2B コラボレーション ユーザー) としてターゲット テナントに作成されます。

    Note

    B2B ユーザーがターゲット テナントに既に存在する場合、[このマッピンを適用する] 設定が [常に] に設定されていない限り、[Member (userType)][Member] に変更されません。

    選択したユーザーの種類には、アプリまたはサービスに対して次の制限があります (ただし、これらに限定されません)。

    アプリまたはサービス 制限事項
    Power BI - Power BI での UserType Member のサポートは現在プレビュー段階です。 詳細については、「Microsoft Entra B2B で外部ゲスト ユーザーに Power BI コンテンツを配布する」を参照してください。
    Azure Virtual Desktop - 外部メンバーと外部ゲストは、Azure Virtual Desktop ではサポートされていません。

    Screenshot of the Edit Attribute page that shows the Member attribute.

  6. 変換を定義する場合は、[属性マッピング] ページで、変換する属性 (displayName など) を選びます。

  7. [マッピングの種類][式] に設定します。

  8. [式] ボックスに、変換式を入力します。 たとえば、表示名の場合は、次のようにできます。

    • 名と姓を入れ替えて、その間にコンマを追加します。
    • 表示名の最後に、かっこで囲んだドメイン名を追加します。

    例については、「Microsoft Entra ID で属性マッピングの式を記述するためのリファレンス」を参照してください。

    Screenshot of the Edit Attribute page that shows the displayName attribute with the Expression box.

ヒント

テナント間同期のスキーマを更新することで、ディレクトリ拡張機能をマップできます。 詳細については、「テナント間同期でのディレクトリ拡張機能をマップする」を参照してください。

手順 10: 追加のプロビジョニング設定を指定する

Icon for the source tenant.
ソース テナント

  1. ソース テナントで、[プロビジョニング] を選択し、[設定] セクションを展開します。

    Screenshot of the Provisioning page that shows the Settings section with the Scope and Provisioning Status options.

  2. [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。

  3. プロビジョニング エラー通知を受け取る必要があるユーザーまたはグループのメール アドレスを、[通知用メール] フィールドに入力します。

    ジョブが検疫状態になってから 24 時間以内に、メール通知が送信されます。 カスタム アラートについては、「プロビジョニングを Azure Monitor ログと統合する方法の概要」をご覧ください。

  4. 誤って削除されないようにするには、[誤削除を防止する] を選んで、しきい値を指定します。 既定では、しきい値は 500 に設定されます。

    詳細については、「Microsoft Entra プロビジョニング サービスで誤った削除の防止機能を有効にする」を参照してください。

  5. [保存] を選択してすべての変更を保存します。

手順 11: オンデマンドのプロビジョニングをテストする

Icon for the source tenant.
ソース テナント

構成が完了したので、いずれかのユーザーでオンデマンド プロビジョニングをテストできます。

  1. ソース テナントで、[ID][External Identities][テナント間同期] の順に参照します。

  2. [構成] を選んでから、構成を選びます。

  3. [Provision on demand] (オンデマンドでプロビジョニングする) を選択します。

  4. [ユーザーまたはグループを選択します] ボックスで、テスト ユーザーの 1 人を検索して選びます。

    Screenshot of the Provision on demand page that shows a test user selected.

  5. [プロビジョニング] を選びます。

    しばらくすると、ターゲット テナントでのテスト ユーザーのプロビジョニングに関する情報を含む [アクションの実行] ページが表示されます。

    Screenshot of the Perform action page that shows the test user and list of modified attributes.

    ユーザーがスコープ内ではない場合は、テスト ユーザーがスキップされた理由に関する情報を含むページが表示されます。

    Screenshot of the Determine if user is in scope page that shows information about why test user was skipped.

    [オンデマンドでプロビジョニング] ページでは、プロビジョニングに関する詳細を表示し、再試行するオプションを選択できます。

    Screenshot of the Provision on demand page that shows details about the provision.

  6. ターゲット テナントで、テスト ユーザーがプロビジョニングされたことを確認します。

    Screenshot of the Users page of the target tenant that shows the test user provisioned.

  7. すべてが期待どおりに動作している場合は、構成に追加のユーザーを割り当てます。

    詳細については、「Microsoft Entra ID でのオンデマンド プロビジョニング」を参照してください。

手順 12: プロビジョニング ジョブを開始する

Icon for the source tenant.
ソース テナント

プロビジョニング ジョブによって、[設定] セクションの [スコープ] で定義したすべてのユーザーの初期同期サイクルが開始されます。 初期サイクルは後続の同期よりも実行に時間がかかります。後続のサイクルは、Microsoft Entra のプロビジョニング サービスが実行されている限り約 40 分ごとに実行されます。

  1. ソース テナントで、[ID][External Identities][テナント間同期] の順に参照します。

  2. [構成] を選んでから、構成を選びます。

  3. [概要] ページで、プロビジョニングの詳細を確認します。

    Screenshot of the Configurations Overview page that lists provisioning details.

  4. [プロビジョニングの開始] を選んで、プロビジョニング ジョブを始めます。

手順 13: プロビジョニングを監視する

Icon for the source tenant.Icon for the target tenant.
ソースとターゲット テナント

プロビジョニング ジョブを開始したら、状態を監視できます。

  1. ソース テナントの [概要] ページで進行状況バーをチェックし、プロビジョニング サイクルの状態と完了までの時間を確認します。 詳細については、「ユーザー プロビジョニングの状態を確認する」を参照してください。

    プロビジョニングが異常な状態になったように見える場合、構成は検疫されます。 詳細については、「検疫状態のアプリケーションのプロビジョニング」を参照してください。

    Screenshot of the Configurations Overview page that shows the status of the provisioning cycle.

  2. プロビジョニングが成功したユーザーと失敗したユーザーを確認するには、[プロビジョニング ログ] を選びます。 既定では、ログは構成のサービス プリンシパル ID でフィルター処理されます。 詳細については、「Microsoft Entra ID のプロビジョニング ログ」を参照してください。

    Screenshot of the Provisioning logs page that lists the log entries and their status.

  3. Microsoft Entra ID でログに記録されたすべてのイベントを表示するには、[監査ログ] を選びます。 詳細については、Microsoft Entra ID の監査ログに関する記事を参照してください。

    Screenshot of the Audit logs page that lists the log entries and their status.

    ターゲット テナントでの監査ログを見ることもできます。

  4. ターゲット テナントで、[ユーザー]>[監査ログ] を選んで、ユーザー管理に関するログされたイベントを表示します。

    Screenshot of the Audit logs page in the target tenant that lists the log entries for user management.

手順 14: 脱退の設定を構成する

Icon for the target tenant.
ターゲット テナント

ユーザーがターゲット テナントでプロビジョニングされている場合でも、ユーザーは自分自身を削除できる可能性があります。 自分自身を削除したユーザーがスコープ内にいる場合、そのユーザーは次のプロビジョニング サイクル中に再びプロビジョニングされます。 ユーザーが組織から自分自身を削除できないようにする場合は、[外部ユーザーの脱退設定] を構成する必要があります。

  1. ターゲット テナントで、[ID][External Identities][外部コラボレーション設定] の順に選択します。

  2. [外部ユーザーの脱退設定] で、外部ユーザーが組織を脱退することを許可するかどうかを選びます。

この設定は B2B コラボレーションと B2B 直接接続にも適用されるため、[外部ユーザーの脱退設定][いいえ] に設定した場合、B2B コラボレーション ユーザーと B2B 直接接続ユーザーは自分で組織を離れることはできません。 詳しくは、「外部ユーザーとして組織を脱退する」をご覧ください。

トラブルシューティングのヒント

構成を削除する

[構成] ページで構成を削除するには、こちらの手順に従います。

  1. ソース テナントで、[ID][External Identities][テナント間同期] の順に参照します。

  2. [構成] ページで、削除する構成の横にチェックマークを付けます。

  3. [削除][OK] の順に選択して、構成を削除します。

    Screenshot of the Configurations page showing how to delete a configuration.

現象 - AzureDirectoryB2BManagementPolicyCheckFailure でテスト接続が失敗する

ソース テナントでテナント間同期を構成して接続をテストすると、次のエラー メッセージで失敗します。

You appear to have entered invalid credentials. Please confirm you are using the correct information for an administrative account.
Error code: AzureDirectoryB2BManagementPolicyCheckFailure
Details: Policy permitting auto-redemption of invitations not configured.

Screenshot that shows the error when test connection fails with AzureDirectoryB2BManagementPolicyCheckFailure.

原因

このエラーは、ソース テナントとターゲット テナントの両方で招待を自動的に引き換えるポリシーが設定されなかったことを示します。

ソリューション

手順 3: ターゲット テナントで招待を自動的に引き換える」と「手順 4: ソース テナントで招待を自動的に引き換える」で示されている手順のようにします。

現象 - [自動引き換え] チェック ボックスが無効になっている

テナント間同期を構成するときは、[自動引き換え] チェック ボックスは無効になります。

Screenshot that shows the Automatic redemption check box as disabled.

原因

お使いのテナントに Microsoft Entra ID P1 または P2 ライセンスがありません。

解決方法

信頼設定を構成するには、Microsoft Entra ID P1 または P2 が必要です。

現象 - ターゲット テナントで最近削除されたユーザーが復元されない

ターゲット テナントで同期されているユーザーを論理的に削除した後、次の同期サイクルの間は、そのユーザーは復元されません。 オンデマンド プロビジョニングを使用してユーザーを論理的に削除した後、そのユーザーを復元しようとすると、ユーザーが重複する可能性があります。

原因

以前にターゲット テナントで論理的に削除されたユーザーの復元は、サポートされていません。

ソリューション

ターゲット テナントで論理的に削除されたユーザーは、手動で復元してください。 詳細については、「Microsoft Entra ID を使用して最近削除されたユーザーを復元または削除する」を参照してください。

現象 - ユーザーに対して SMS サインインが有効になっているため、ユーザーはスキップされます

ユーザーは同期からスキップされます。 スコープステップには、状態が false の以下のフィルターが含まれています:「Filter external users.alternativeSecurityIds EQUALS 'None'」

原因

ユーザーに対して SMS サインインが有効になっている場合、プロビジョニング サービスによってスキップされます。

ソリューション

ユーザーの SMS サインインを無効にします。 次のスクリプトは、PowerShell を使用して SMS サインインを無効にする方法を示しています。

##### Disable SMS Sign-in options for the users

#### Import module
Install-Module Microsoft.Graph.Users.Actions
Install-Module Microsoft.Graph.Identity.SignIns
Import-Module Microsoft.Graph.Users.Actions

Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All", "UserAuthenticationMethod.Read.All","UserAuthenticationMethod.ReadWrite","UserAuthenticationMethod.ReadWrite.All"

##### The value for phoneAuthenticationMethodId is 3179e48a-750b-4051-897c-87b9720928f7

$phoneAuthenticationMethodId = "3179e48a-750b-4051-897c-87b9720928f7"

#### Get the User Details

$userId = "objectid_of_the_user_in_Azure_AD"

#### validate the value for SmsSignInState

$smssignin = Get-MgUserAuthenticationPhoneMethod -UserId $userId

{
    if($smssignin.SmsSignInState -eq "ready"){   
      #### Disable Sms Sign-In for the user is set to ready
       
      Disable-MgUserAuthenticationPhoneMethodSmsSignIn -UserId $userId -PhoneAuthenticationMethodId $phoneAuthenticationMethodId
      Write-Host "SMS sign-in disabled for the user" -ForegroundColor Green
    }
    else{
    Write-Host "SMS sign-in status not set or found for the user " -ForegroundColor Yellow
    }

}

##### End the script

現象 - "AzureActiveDirectoryForbidden" エラーでプロビジョニングに失敗する

スコープ内のユーザーがプロビジョニングに失敗します。 プロビジョニング ログの詳細には、次のエラー メッセージが含まれます。

Guest invitations not allowed for your company. Contact your company administrator for more details.

原因

このエラーは、ターゲット テナントのゲスト招待設定が最も制限の厳しい設定 "管理者を含む組織内のすべてのユーザーがゲスト ユーザーを招待できない (最も制限的)" で構成されていることを示します。

解決方法

ターゲット テナントのゲスト招待設定を、制限の緩い設定に変更します。 詳細については、外部コラボレーション設定の構成を参照してください。

次の手順