😼

MTO(Multi-Tenant Organization!)の構成で分かってきたこと。

に公開

Enterprise企業でM365 MTOの構成で分かったことをまとめます。
殴り書きしているので、読みにくいのはすいません。。。

まずは参考記事
マルチテナント組織 (MTO) が一般公開されました! | Japan Azure Identity Support Blog
https://jpazureid.github.io/blog/azure-active-directory/mto-ga/

私は米国でM365の導入や運用支援、設計など幅広くプロジェクトに携わってきました。現在は米国のエンタープライズ企業のIn House ITとして一時的にM365のエンジニアをやっています。そこでの経験や思ったことを書いています。

で、まず。
やりたいことは
A社M365テナントA
B社M365テナントB
があり、これをMTOで構成して、互いのメンバーがシームレスにチャットやデータのやり取りができる!!

ということです。多くの組織でただ、それがやりたいだけ。なのに、Microsoft Magicにドはまりして、思ったように動作しない。EntraIDやらオンプレAD、クラウドアプリケーション、Intune関連、条件付きアクセス、そしてエンドユーザーExperianceがどうなるとか、ブラウザアクセスするとどうなるか。とか、DesktopAppだと挙動が違うとか、そしてMACだと動かない。とかなんとかかんとか。もういろいろ複雑に絡み合って、よくわからない!ってなると思うんですよ。はい。いや実際になっているしね。

ただでさえよくわからないB2Bコラボレーション、やら、B2BDirectConnectやら、”招待したGuest User”とか、”同期したB2BGuest Member”とか、クロステナントシンクやら。え?そしてMTOって何それまた違う同期なの?

ぱっぱらぱー

ってなるじゃないですか。

はい。

で、今も絶賛なっているんですが。

まずね。機能云々に入る前に、一番大事なのは、これらの紛らわしい機能が公開された日時を確認することだと思うんですよ。

Microsoftさんもね、日々成長しているんですね。なぜこのアーキテクチャになっているのか。って、歴史を知ることがもはやかなり大事なんですよ。

これから理解しようとしている新参者にはなんでこんなめんどくさいことになっているのかって本当に理解できないんです。だから、機能はこうやって追加されていったんですよっていうのは時間軸で見ると少ししっくりくると思うんです。

ChatGPTにそれぞれの機能のリリース日をまとめてもらいました。

画像

はい。とりあえずこの4つ。
MTOを構成するにあたり無視はできないと思ったので。

2017年から頑張って機能を追加してきたんですね。お疲れ様Microsoft様。

でね細かく説明するとわかりにくいから、このブログではシンプルに説明するぜ。シンプルすぎて間違っていたらすまないが、私の理解は少なくとも以下の通り。(一応ChatGPTとは答え合わせはしている。)

テナントAとテナントBがあったとして
設定すると、
■B2B Collaboration 
ー> ゲストを手動で招待できるようになる。

■B2B Direct Connect 
ー> 招待なしでTeamsの1:1Chatができるようになる。

■Cross-Tenant Synchronization 
ー> ゲストを自動で招待できるようになる。そしてそのゲストのUserTypeが Guest-> Memberに変更できるようになる。

■Multi-Tenant Organization (MTO) 
ー> テナント間同士のユーザーが同じ”社内の人”として見られる。

とざっとこんな感じ。

まずね、

B2B Collaboration について

設定場所はここ。
Azure側External Identities - Microsoft Azure
https://portal.azure.com/#view/Microsoft_AAD_IAM/CompanyRelationshipsMenuBlade/~/ExternalIdentitiesGettingStarted

EntraID側External Identities - Microsoft Entra admin center
https://entra.microsoft.com/#view/Microsoft_AAD_IAM/CompanyRelationshipsMenuBlade/~/ExternalIdentitiesGettingStarted/menuId/ExternalIdentitiesGettingStarted

どちらのURLも同じ設定画面です。入口が違うだけで。
もともとはAzure側にしかなかった設定なんだけど、Microsoft様が”わかりやすく”するためなのか、EntraIDのコンソールからもいじれるようになりました。紛らわしいかもですが、好きな方で設定すればいいです。どちらを設定しても実際に設定変更される場所は同じ場所に収束するので。

で、前提として、そもそもTeamsというかMicrosoft365全体として、一般的には社内の人しかアクセスできないんですよね。

M365自体はテナント新規構築時はデフォルトで社外にドメインでも招待して自社のテナントへアクセスさせることができように設定はされているんですよね。
ただ、これからセキュリティがうるさいのでこういうガバガバデフォ設定はなくなるかもしれませんね。

まぁ一般の会社は、セキュリティリスクが高いから!と理由で制御するんですよ。まずはドメインベースで。
特定のドメインの人を持つ人しか招待できないよって。設定しているはずです。
そもそもM365における”社内リソース”は「Sharepoint(OneDrive)」と「Teams」の2つの機能がベースです。社外の人にアクセスさせるって言ったらこの2つのどちらかです。

で、ドメインの制御する場合は
Teamsはこちら。
External access - Microsoft Teams admin center
https://admin.teams.microsoft.com/company-wide-settings/external-communications

Sharepointはこちら。
https://YOURDOMAIN-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx#/sharing
Sharing - SharePoint admin center

ここで信頼したい、外部ドメインをそれぞれ登録できます。

話は戻りますが、B2B Collaborationにおいては、ここに信頼されているドメインの外部ユーザーであれば招待ができるようになり、社内リソースにアクセスできようになるんですね。
招待は管理者が招待する限定方式もあれば一般ユーザーが勝手に誰かを招待できる運用方式もあります。

まぁ、管理者が招待する方式だと利便性が損なわれるので、一般ユーザーが招待できるようにした方がいいとは思いますね。そのためのドメイン制御設定ですので。責任を負いたくない逃げ腰IT責任者は嫌がると思いますが。ゲストのユーザーにはダウンロードさせない。とか制御できるので、ちゃんとポリシーを作れば何も問題ないことが多い。

B2B Collaborationはここまでにして次。

B2B Direct Connectについて。
設定箇所はB2B Collaborationと同じ。隣にありますね。
Azure側External Identities - Microsoft Azure
https://portal.azure.com/#view/Microsoft_AAD_IAM/CompanyRelationshipsMenuBlade/~/ExternalIdentitiesGettingStarted

EntraID側External Identities - Microsoft Entra admin center
https://entra.microsoft.com/#view/Microsoft_AAD_IAM/CompanyRelationshipsMenuBlade/~/ExternalIdentitiesGettingStarted/menuId/ExternalIdentitiesGettingStarted

これはね、なんだか似たような名前ですが、本当にシンプルな機能なんですよね。ただの、招待なし、テナント切り替えなし、外部のユーザーと”Teamsで1:1のChatができるようになる。”という機能です。

おわり。

はい。 ええ。

補足すると、実はTeamsの1:1のChatは、前の”B2B Collaborationで招待された人”ともできます。ただ、すこし違いがあるんです。

違いを簡単にまとめると。以下。

画像

ということ。
招待がいらないのでつまり、
A社営業部の男前の佐々木さんが、人がB社の経理部にいるマドンナの鈴木さんにいきなり、アポなしで社内のTeamsChatを始めることができる。ということです。

通常の招待→メール送信→承諾→Chat開始!というステップを踏まなくていいし、Teamsのテナント切り替え作業をしなくていいのがメリットです。
ただ相手のChatの名前には(External)と表示されます。

画像

では次。

Cross-Tenant Synchronization 
設定箇所はここ
Cross-tenant synchronization - Microsoft Azure
https://entra.microsoft.com/#view/Microsoft_AAD_IAM/CrossTenantAccessSettingsList.ReactView

一言でいうと、テナント切り替え作業をすれば、そのテナントの”社内の人”とほぼ同等のアクセス権が与えられる。

ということ。です。

A社の営業部のマッチョの佐々木さんが、B社の経理部の独身の鈴木さんが管理しているB社テナントのチームスチャンネル(Standard)にアクセスしたいといった場合、まえのB2BCollaborationやDirect Connectの設定だけではアクセスできないんですね。
正確には(B2B CollaborationのGuestは招待されれば)できるんですが、Teams全体やテナント全体のGuestのポリシーにかかわり、あまり実用的にではないと思われるので、”できない”ということにしておきます。)

で、B社のTeamsチャンネル(Standard)は通常B社の人間しかアクセスできないんです。いくら社外のドメインを信頼しても。社外の人をアクセスさせることはできません。
そこでこのCross-Tenant Synchronizationの設定をすることで、社外のドメインを持つユーザーは社内の人とほぼ同様のアクセス権を得ることができ、社外の人なのに、社内の人として扱うことができます。つまり「External」や「Guest」という概念が取っ払われる感じです。
だけどドメインは社外。ってこと。
これはUserTypeが Guest-> Memberに変更ができるようになるので、Memberにすることで実現が可能です。

以下はAzure画面ですが、EntraIDの管理コンソールからでもできます。

画像!

唯一のデメリットは”Teamsのテナント切り替え作業が必要ということ。”
ですね。

つまり、A社の営業部の高身長の佐々木さんがB社の経理部で元モデルの鈴木さんのチャンネルにアクセスしたいとき、および鈴木さんに1:1のチャットをしたいとき、やる作業は

A社佐々木さんのTeamsを立ち上げる
→B社のチームスへテナント切り替えを行う
→B社のチームスチャンネルで作業する。鈴木さんと1:1のやり取りを行う。作業が終わったら
→A社のチームスへテナント切り替えを行う。
→A社のチームスチャンネルにアクセスする。

みたいな作業をチャンネルアクセス毎に永遠とやらなければならないのです。
(ちなみにB2B Direct Connectを設定していればExternalとして1:1チャットはできるのですが、チャンネルアクセスはできません。)

これが意味していることは、慣れてしまえば運用できるんです。
例えば数十人とかITリテラシーが高い人とかだけなら問題はあまりないんです。ちょっとめんどくさいくらい。

で、問題は大規模展開したときですね。
ITが苦手な人にとっては”テナント切り替え”なんて言葉はちんぷんかんぷんなんです。これを運用でカバーしようっていうのはかなりの努力が必要になってしまううんです。何よりMicrosoft様は機能やインターフェースを頻繁に変えるので、IT管理者としてこれ以上複雑にしたくないんです。なので小規模での展開は良いと思いますが、大規模展開は悩ましい問題なんです。

いろいろ制限が多いですね。

それで最後に。

Multi-Tenant Organization (MTO) 
設定箇所はこちら。
Settings - Microsoft 365 admin center

一言でいうと、
Cross-Tenant Synchronizationの機能にプラスし、制限があった1:1Chatがテナント切り替えなしでできるようになる。Externalなどの文字がなくなる。が、相手のTeamsチャンネル(Standard)へのアクセスは引き続きできない。Teamsチャンネル(Shared)のみであればできる。

ということ。

つまり、最新の機能を使ってもまだ完全なコラボレーションはまだできない。
ということですね。相手のTeamsChannel(Standard)へアクセスするにはテナント切り替え作業が必要。

MTOの機能としてアドレスのユーザーピックアップ機能が使いやすくなったというのもあります。取り合えず社内の人と同じようにユーザー検索がTeams上でできるし、アカウントの重複(Aテナント内の佐々木さんのアカウントと、Bテナント内のEXTの佐々木さんのアカウント等)など紛らわしいことがなくなるみたいなことが書いてありました。アドレス帳は、同期に時間かかるし、確認がしずらいのですが、”良くなった”とMicrosoft様が言っているからきっとわかりやすくなったのでしょう。

ただ、完全なコラボレーション(A社、B社がストレスを感じずに互いのリソースに制限なしで、切り替えなしでアクセスできるようになること)の機能が実装される日も近い感じがしますね。2年以内くらいにはできるんじゃないでしょうか。

この記事も1,2年すると古くなるかもですが。

もう少し本当はID周り、
EXTアカウントやGuest、B2B Guest、B2B Guest Member、などについて語りたかったのですが、今日はこの辺までにしておきます。ニーズがあれば書きたいと思います。

わかりにくい、わかりやすい、鈴木さんのメールアドレスが知りたいなどあればどコメントあれば何でもどうぞ。

ではまた!

Discussion