SEくぼたの事件簿

インフラSEとしての活動を記録していきます

Azure AD のクロステナント同期を試してみる

こんにちは。

1年ほどブログを更新できていなかったので久しぶり更新したいと思っています。

 

今回はプレビュー機能として登場した Azure AD Cross Tenant Sync について記載していきます。

2023/1 段階ではパブリック プレビューなのですが今のうちに動作見ていきたいと思います。

 

はじめに Microsoft の公開情報は以下です。

現段階では日本語がないので英語のサイトで確認くださいー!

※翻訳でなんとなくわかりますね!

URL : Configure cross-tenant synchronization (preview) - Microsoft Entra | Microsoft Learn

 

今回は以下の流れで記載していきます。

 

1. クロステナント同期とは

2. 設定

3. 注意点

 

--------------------------------------------------

1. クロステナント同期とは

--------------------------------------------------

Azure AD のクロステナント同期は、その名の通り、 2 つのテナント間のユーザーを同期するというものです。

従来 Azure AD B2B を利用してゲスト ユーザーとしてユーザーを招待していたかと思います。

クロステナント同期を利用することで 2 つの Azure AD のテナントのユーザーを同期し、ゲスト招待のような扱いにすることができます。

 

この機能の何が嬉しいかというと以下の点が大きくあげられるかと思います。

 

・招待の処理や承諾の処理をスキップできる

・招待元テナントの情報変更が反映される ( 従来同期されなかった属性も同期できる )

 

■嬉しい点 1 ( 招待の処理や承諾の処理をスキップできる )

従来の Azure AD B2B の招待では、以下の 2 つのフェーズを必要としていました。

 

1.招待元テナントでの対象ユーザーの招待

2.招待されたユーザーの承諾

 

招待元テナントでの招待は Azure Portal からの GUI での招待か、 PowerShell を利用した招待を行っていました。

その後、招待されたユーザーは必ず招待の引き換えを行い承諾を行う必要がありました。

 

クロステナント同期を利用することで、対象のユーザー指定して承諾まで完了した状態で同期を行うことができます。

 

■嬉しい点 2 ( 招待元テナントの情報変更が反映される )

Azure AD B2B での招待では、ゲスト ユーザーは招待の承諾を行ったタイミングにてゲスト ユーザーのホームテナント側に設定された表示名 ( DisplayName ) を招待元テナントのゲスト ユーザーの表示名に設定します。

 

しかし、その後の運用にてゲスト ユーザーのホームテナント側でメールアドレスや表示名などが更新されてもゲストの招待元テナント上ではその情報が更新されませんでした。

 

しかしクロステナント同期では、定期的 ( 40 分に 1 回 ) に同期処理がおこなわれているため随時情報が更新されます。

 

■難しい点

この機能の難しい点は、機能のコンセプトとして 2 つのテナントを保有する会社が同じ組織であることを想定している点です。

そのため、他社のユーザーをゲスト招待する!といったシナリオには適していません。

 

会社内にてマルチテナントで利用していて、そのテナント間のユーザーを同期して管理したい!というシナリオを想定しているようです。

 

抜粋

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

参考 : What is a cross-tenant synchronization in Azure Active Directory? (preview) - Microsoft Entra | Microsoft Learn

 

 

クロステナント同期のイメージは以下の抜粋の図の通り、テナントに作成されているユーザーを別のテナントに作成!という動作のようです。

後述する設定画面から察するにエンタープライズ アプリケーションでのプロビジョニングと同様に SCIM によるプロビジョニングをしていそうな予感

 

抜粋

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

参考 : What is a cross-tenant synchronization in Azure Active Directory? (preview) - Microsoft Entra | Microsoft Learn

 

--------------------------------------------------

2. 設定

--------------------------------------------------

■前提条件

・テナント間同期を行う双方のテナントで Azure AD Premium P1 または P2 を保有している

・双方のテナントで設定を行うアカウントに最低限 ハイブリッド ID 管理者の Azure AD ロールが付与されている

・ 2 つのテナントの テナント ID を把握している

 ※テナント ID の確認はこちらの手順をご利用ください。

  テナント ID を見つける方法 - Azure Active Directory - Microsoft Entra | Microsoft Learn

 

■補足

設定では、 2 つのテナントを行き来するため、同期するゲスト ユーザーがいる側テナントを comtoso.com, 同期される側のテナントを fabricam.com として記載していきます。

※画面ショットの表示名が違う点はご了承を・・・

 

■設定

fabricam.com の Azure Portal にサインインして、External Indentities をクリック

 

テナント間アクセス設定をクリックし、組織の設定をクリック

組織の追加をクリック

contoso.com のテナント ID を入力して追加

受信アクセスの [ 既定値から継承 ] をクリック

テナント間同期 をクリックして、 [ ユーザーにこのテナントへの同期を許可する ] にチェックを入れて保存

信頼の設定で [ 他のテナントのユーザーが、自分のテナント内の・・・・ ] にチェックを入れて保存クリック

 

Contoso.com のテナントの Azure Portal にサインインして、上記と同様の手順で External Indentities から組織の追加をクリックして、 Fabricam.com のテナントのテナント ID を入力して追加をクリック

送信アクセスの [ 既定値から継承 ] をクリック

信頼の設定から [ 自分のテナントのユーザーが・・・ ] にチェックを入れて保存をクリック

 

Contoso.com のテナントの Azure Portal で テナント間同期 をクリック

構成 から 新しい構成をクリック

同期を行う構成に任意の名前を入力して作成をクリック

作成された構成をクリック ( 表示までに少し時間がかかります )

作業の開始をクリック

プロビジョニング モードを自動に変更して保存クリック

Fabricam.com のテナント ID を入力し、テスト接続をクリック

テストが完了したら保存クリック

 

下図のマッピングの内容が表示されることを確認

 

Provision Azure Active Directory Users のリンクをクリックすることで属性マッピングやスコープ フィルターも編集可能です。

※既定の属性マッピングの注意事項についても後述します。

 

テナント間同期の構成内の ユーザーとグループをクリックして ユーザーまたはグループの追加をクリックし、同期を行うユーザーを追加

ユーザーが追加されたことを確認

プロビジョニングの開始をクリック

下図が画面右上に表示されれば完了

 

設定は以上です。

 

設定の UI を確認するとエンタープライズ アプリケーションと設定方式はほぼ一緒でした。

プロビジョニングのサイクルも 40 分間隔です。

 

40 分待つのが面倒だったので、即時でプロビジョニングしました。

要求時にプロビジョニングするをクリック

 

設定手順でアサインしたユーザーを選択

アサインしていないユーザーは対象外として処理がスキップされるのでご注意を

プロビジョニング結果が出力されます。

・・・・・結果の画面の画面ショット取り忘れた・・・・・・笑

 

Fabricam.com のテナントでプロビジョニングしたユーザーを確認します。

 

ちゃんと同期されてる!!!!

Contoso.com で mail 属性を testmail@contoso.com にして再度同期してみた!

ちゃんと更新された!!

 

ちゃんと承諾済みで同期されたことも確認できます

 

ゲスト ユーザーを動的グループでまとめたりするなら、 Company 属性を属性マッピングで設定してあげて、会社ごとのグループを作ったりするのも管理しやすそうですね!

 

--------------------------------------------------

3. 注意点

--------------------------------------------------

同期した後に気づいたんですが、、、、、既定の属性マッピングを再度見直すと。。。

userType を Menber として同期してた!!!!

 

なので。。。ユーザーの種類がメンバーで同期されてる!!!

 

これで OK であれば問題ないですが、 Azure AD B2B と同様にゲストにしたい場合は、以下の設定を行います。

 

属性マッピングで下記の赤枠をクリック

定数値を Guest に修正し、ユーザー作成時以外にもこのマッピングを適用する場合は、常時を選択して OK をクリック
※常時を選択しないとすでに同期されたユーザーの情報は更新はされません。。。。

 

再度即時で更新処理!

ちゃんと Guest の情報をプロビジョニングしました

 

Fabricam.com のテナント側でもゲストの表示に切り替わりました!

 

--------------------------------------------------

さいごに

--------------------------------------------------

まだプレビュー段階なので今後機能が追加されてくるかもしれませんね!!

複数テナントを保有していて毎回双方にゲスト招待をするのが大変!!って方は利用をお試しいただいてもよいかもですね!

 

Twitterでも情報発信したいと思いますので、興味があったらフォローしてください!