以前の記事に続いてMicrosoftのクラウドサービスを使うならこれだけは知っておかないとまずいこと その2です。前提としてAzure Active Directoryと「テナント」の関係を理解している必要がありますので前回のエントリが未読の方はそちらから先に読んでいただけると嬉しいです。
今回は前回の内容を踏まえた上で、「テナントをまたいだ外部組織とのコラボレーション」の仕組みについての解説です。自テナントのAzure Active Directoryにユーザーを作成するのではなく、ゲストとして招待し、さらにそのゲストのライフサイクル管理もきちんとしましょうねというお話です。
このエントリの内容はYoutubeの動画にもしていますので、動画の方がお好みの方は動画でご覧ください。
テナントにはAzure ADが1つ
テナントにはAzrue ADが1つです。Azure AD内にユーザーがあり、そのユーザーに対して各種サービスにアクセス権を付与することも可能です。

これは組織の外部も同様です。下図は2つの組織がそれぞれ独立している様子だと思ってください。

テナントをまたいだコラボレーション
この時にAさんとBさんが一緒に作業したいことってありますよね。
AさんとBさんが同じTeamsのグループメンバーとしてチャットをしたりファイルを共有したり会議をしたりしたいわけです。でも、別々の異なるテナントに存在するAさんとBさんなのでこのままではコラボレーションできません。権限はテナントにあるAzure AD内に存在しているユーザーにしか出すことはできないのです。
コラボレーションするための良くない方法
コラボレーションをするための1つの方法として「新規にユーザーを自テナント内に作成する」という方法があります。下の図のような状況にする方法です。

この例ではAさんと同じAzure ADに、Bさんを新規にユーザーとして作成しています。こうしてしまえば確かにAさんとBさんはコラボレーションできるようにはなるわけですが、色々と良くないこともあります。
- (左のテナントの)Bさんのために有償のライセンスを別途割り当てる必要がある。
- Bさんは2つのアカウントの両方にきちんと異なるパスワードを設定する等適切に管理する必要がある。
- Bさんはアカウントを切り替えるときには、サインアウトやサインインを繰り返す必要がある。
個人的にもこの構成は極力避けるべきと思います。
推奨構成:ゲストとして招待
推奨する構成は「ゲストとして招待する」です。これはAzure B2Bという名前がついています。

外部組織のユーザーもAzure ADであれば「ゲストとして招待」することができるのです。これは事実上「ゲストユーザーアカウントを自テナント内に作成する」というような感じです。招待された側は1つのアカウントで複数のテナントにアクセスすることが可能となります。
これはM365系でもそうですし、Azureでも同じです。
Active Directoryの時代にはこのような「他のテナントのユーザーに権限を出す」というようなことをするのはかなりハードルが高かったですし、完全に外部組織となれば不可能に近いところもありました。ですが、クラウド時代になってユーザーのメールアドレスだけ入力すれば簡単に外部のユーザーを招待して権限を付与することができるようになりました。これはものすごい技術革新です。
どれだけ簡単にできるのかは、実際のデモを見てもらうとわかりやすいです。是非動画でご覧ください。
ゲストの「ライフサイクル管理」も必要
良いことづくめのゲスト招待ではありますが、これによってオンプレミスのActive Directoryの時には存在しなかった「ゲストのライフサイクル管理」というタスクが発生します。
目的に沿うようにゲストを招待しつつ、ゲストのライフサイクル管理を行うのも招待元テナント管理者の仕事になります。
- だれがゲストを招待するのか?(設定によってコントロール可能)
- ゲストはどこに対して権限を持つのか?
- いつ、ゲストは権限を無くすのか?
- いつ、ゲストアカウントは削除されるのか?
Azure ADのエンタイトルメント管理の機能などを用いてゲストユーザーを管理することが理想的です。
まとめ
- テナント内のサービスにはテナント内のAzure ADに存在しているユーザーしか権限を出すことができない
- Azure ADにはゲストを招待する機能がある(Azure B2B)
- 招待することも招待されることも可能
- 自組織のユーザーやグループと同じように、ゲストのライフサイクル管理が必須

オンプレミス時代のActive Direcotryにはできなかった「外部のユーザーを招待する」という機能をうまく使って企業間のコラボレーションを実現しましょう!