TeamsやSharePointのゲストユーザー(外部ユーザー)の招待と、その管理(追記)

3/07/2021

Azure AD Microsoft Teams SharePoint

 TeamsやSharePoint、それからOneDriveは社内だけでなく、外部の方と共有する機能もあり、使えると外部とのやり取りにはかなり便利、です。外部コラボレーション、Azure AD B2B、と書かれていることもあるようです。先日、Japan EMS User Group の勉強会に参加して、追えていなかったアップデートや考え方など示唆をいただきました。


Office365のゲストユーザー管理について、改めて自分なりにまとめてみました。


1、招待できる外部アカウントの種類

2、ゲストユーザーの優先順位

3、招待操作を行えるユーザーの制限

4、困っていること

5、参考情報



1、招待できる外部アカウントの種類

Office 365 のアカウントはAzure AD で管理されており、B2BゲストユーザーはAzure AD上ではゲストユーザーと書かれいるので、以下ゲストユーザーとします。なまえがあれこれあるのはややこしいですね。

さて、招待できるゲストユーザーの種類はいくつかあります。私は組織で管理されているアカウントを招待することを優先しています。


1-1、自社テナント以外の、Office 365 ユーザー

自組織の365テナントでない別テナントのユーザーや、別の Azure AD のユーザーを招待できます。組織のアカウントであれば、先方のシステム部門なり管理部門なりがアカウント管理をしているでしょうし、アクセス元制限をかけていることが多いでしょうから、先方がメールなどで Office 365 を使っている場合は、その Office 365 アカウントを招待するのが安全でしょう。

1-2、Microsoft アカウント

先方が Office 365 やAzure AD を利用していない場合、マイクロソフトアカウントを招待できます。マイクロソフトアカウントは組織で管理できないアカウントです。なのでアクセス元制限などは利用者がしっかり管理していなければなりませんし、退職後も利用できますから、ゲストユーザーの管理としてはひと手間かかります。
Office 365 を使っていない組織のユーザーには、会社メールアドレスでマイクロソフトアカウントを作成してもらい、招待する、というような方法をとれます。


1-3、ワンタイムパスワード(OTP)での招待

こちらの記事「Microsoft アカウントも不要になるワンタイムパスコード認証のゲスト招待を試してみた – idea.toString()を見て、試してみたました。

・・・ゲスト招待するなら、この機能をもう外せなくなってしまいました。


ゲストが「Azure ADアカウントや、Microsoftアカウントではないとき」には、自組織のテナントに招待するとき・自組織のテナントにログインするとき、招待先のメールアドレスにワンタイムパスワードが送信され、パスワードにかわりにこのワンタイムパスワードを入力する、という流れになります。

招待されたメールアドレス(通常は組織管理のメールアドレスでしょう)にアクセスできることが必須ですから、アクセス元は制限されているはずで、かつアカウント管理も先方に期待できます。



ここまでの3つは、追加設定しなくても招待できます。


1-4、Google アカウント、Google Workspaceアカウント(G-Suiteアカウント)

Office 365 ですが、Google アカウントや、Google Workspace アカウントも招待できます。ひと手間必要ですが、Google Workspaceユーザーを招待できるようになるメリットが大きいです。

というのは、Googleアカウントはコンシューマー向けサービスですが、Google Workspaceは組織で利用している場合は、組織で管理しているでしょう。というわけで Office 365 同様に組織だった管理がされているでしょうから安全性が高いです。

設定は手順は、Always on the clockの GoogleアカウントでAzure ADにサインインが詳しくまとめられています。私もこの記事を参考に設定しました。


1-5、Facebook、ほか

FacebookアカウントをIDプロバイダーとして設定できるようになっていると、先ほどの勉強会で知りました。組織によってはおそらく便利なのだと思いますが、組織で管理されていないアカウントを招待することに対してどの程度リソースを割くのか、というのは判断が分かれるのかな、と思います。

感覚ですが、直近半年ぐらいで招待したゲストユーザーは、Office365が7割、Google Workspacesとマイクロソフトアカウントが残り半々、という割合です。Facebookでユーザー管理されている組織のユーザーを招待したい、と相談をうけたことがありません。

もし組織で管理されていない、個人のアカウントを招待したいという相談を受けたとしたら、マイクロソフトアカウントを作成してもらい、招待するようにするので十分、と考えています。


2、ゲストユーザーの優先順位

あくまで私見ですが、先方の組織が管理しているアカウントが望ましい、と考えています。


最優先は、先方の組織で通常のメールで利用している、組織アカウント(Office365/Azure AD アカウント)、でしょう。組織で管理しているでしょうし、アクセス元を制限している可能性も高いです。

2番目は、先方の組織で通常のメールで利用しているメールアドレスを、OTPで招待する、です。組織で管理しているでしょうし、アクセス元制限している可能性も高いです。ただし、OTPを受信できればアクセスできてしまいますね。

3番目は、先方の組織で通常のメールで利用している、Google Workspace アカウント、です。自組織のテナントに一部設定の追加が必要ですが、組織で管理しているでしょうし、アクセス元を制限している可能性も高いです。



どうしてもこれら3つが使えなければ、会社メールアドレスのMicrosoftアカウント。会社メールアドレスでMSA持ってました、というときはOTPが使えませんから、仕方がありません。
それから先方の組織で利用していないOffice365/AzureADアカウントでしょうか。365やGoogle workspace は使っていないけど、AzureADアカウントがあったりするケースです。

ほとんどの場合、組織アカウントかOTPで招待できるはずです。



3、招待操作を行えるテナント内ユーザーの制限

ゲストを招待できる権限を、どこまで付与するかは悩みどころです。誰にでも付与すれば利便性は高いのですが管理統制の面での考慮が必要です。申請ベースで依頼をもらって対応するほうが管理統制の面では有利ですが、リソースを食いますね。

また、ゲストの招待に限らずですが、「アクセス権がほしい」「配布リスト作って」「チーム作って」というのは必ず申請してくれます。しかし「アクセス権いらなくなった」「配布リストいらなくなった」「チームいらなくなった」などをきちんと申請くれるユーザーはごく一部でしょう。というわけである程度の統制も考える必要があります。

私が所属する組織では、申請ベースで対応、数名の管理ユーザーだけに招待権限を付与としています。



4、困っていること

数が増えれば増えるほど、運用負荷が高まっていくのですが、なるべく手間をかけないようにしたいです。とはいえ、ユーザー任せであれ、申請ベースであれ、不要なゲストユーザーの削除は考慮しておかねばなりません。その際にネックになるのはこの2つです。



4-1、不要なゲストの削除

申請がないないからといってゴミアカウント、それも外部ユーザー、というのは望ましくありません。定期的にお掃除する運用が必要です。いっそゴミが残っても削除しない、というのも1つの考えだと思います。

私は半年ごとなど定期的に、申請者に投げかけて不要なアカウントがあれば削除する依頼をもらうよう依頼するようにしています。その際「30日ログインがないゲストは無条件に削除するからね」と案内しています。


ただ、ログイン状況を取得するためには1箇所設定が必要です。
条件付きアクセスの、すべてのゲストに対して「ブラウザの永続的セッションブロック」する設定を追加しています。そうすると、ゲストユーザーに対しては毎回ログインを必須となってしまいますが、ログイン履歴が追えるようになります。

30日としている理由は、Azure AD 上のログイン情報保持は30日だからなのですが、30日間サインイン履歴がない=使ってない、とみなしています。当然ながらしっかり管理されている申請者と、そうでない申請者はおられるわけで、あまりに管理が杜撰な方をあぶりだすために「30日ログインがないから削除したユーザーの数」は毎回記録しています。手間ですけどね…。


4-2、SharePointサイトのユーザー情報の削除

これに関連して、削除したあとアクセスできなくなった!なんとかして!って相談が来るケースはあります。往々にして、杜撰管理する方ほどこの傾向が強いのは何故でしょうか(笑)
その場合、単純に再招待すれば使えるわけではなく、AAD以外に残っているごみデータを削除しないと、再招待しても権限が付与されません。

一度削除したゲストユーザーを再招待する際に邪魔になるごみデータが2か所あります。削除するとき、あるいは再招待するときの手順に入れておく必要があります。

1つは、対象のSPOグループあるいはチームのグループからユーザーを削除すること。もう1つは、対象のサイトのすべてのユーザーのグループから削除すること、です。


後者は、対象のサイトのグループをブラウザで表示し、GroupIDの末尾を0にすると、サイトのすべてのユーザーが表示されますのでここから削除しましょう。

https://xxx.sharepoint.com/sites/xxx/_layouts/15/people.aspx?MembershipGroupId=0

こんなURLです。

AADから削除したら、SharePointやチームからもきっちりユーザーを削除してくれるようになれば管理負荷が下がるのですが、しばらくはこの方法で運用がかな、と思っています。


ゲストの招待だけでなく、ゲストの削除を踏まえた運用管理を準備しておくとスムーズかもしれません。



5、参考情報

Microsoft - Azure Active Directory の外部 ID とは
https://docs.microsoft.com/ja-jp/azure/active-directory/external-identities/compare-with-b2c



Microsoft - Azure Active Directory B2B のゲスト ユーザー アクセスとは - ID プロバイダーと統合する
https://docs.microsoft.com/ja-jp/azure/active-directory/external-identities/what-is-b2b#integrate-with-identity-providers


Always on the clock - GoogleアカウントでAzure ADにサインイン
http://azuread.net/2019/05/09/google-signin/


Microsoft アカウントも不要になるワンタイムパスコード認証のゲスト招待を試してみた – idea.toString();

https://idea.tostring.jp/?p=5920


B2B ゲスト ユーザーのワンタイム パスコード認証 - Azure AD | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/active-directory/external-identities/one-time-passcode


2020年10月18日公開
2021年03月07日追記(OTPと優先順位)