AzureAD BtoBでゲストユーザーを招待すると便利。Office365だと、SharePointやTeamsに招待すると、いろいろ捗る。捗るから、どんどん招待するユーザーが増えていくので、定期的に棚卸必要、ってことで前回のOffice365のゲストユーザー(外部ユーザー)の一覧を取得するをまとめてみた。
定期的な棚卸で、30日ログインがない=使っていないとみなして削除する、という運用がわかりやすい。グラフ見てログインなければ即削除、でいいし。
が、昨日もSharePointサイト使ってたゲストユーザーが、ログインできなくなったんですけど~?という問い合わせがあり、原因と対応をまとめてみた。
#AzureADとSharePointのファイルのログを見る
そのゲストユーザーは、すでに削除済みだった。いったん復元して、のログインログみたらやっぱり直近30日間にログインログはなかった。
しかし、当該のサイトで、最終更新者がそのゲストユーザーのファイルの、最終更新日は昨日の日付。なんで?
#なぜログイン履歴がない!?
教えて!Azureのひと!ということで問い合わせてみた。
ブラウザで「サインイン状態を維持しますか」でチェックを入れているとこういう状態が起こるらしい。
サインイン時にチェック入れておくと、180日以内に再度SharePointサイトを開くと、サインインなしでサイトを開くことができ、かつ180日間再延長されるらしい。
これの永続的にあたるらしい。
引用元:Azure AD が発行するトークンの有効期間について
サインイン操作してないんだもん。そりゃ、AzureADのサインインログには出てこないわ。
テナント内ユーザーでも、ゲストユーザーでも、ユーザーから操作する分には操作は少ないほうがいいよね。ログイン状態保持したいって思うのもしょうがないよね。
#じゃ、対策は?
とはいえ、このままではサインインログに出てこないので、本当に使っていないユーザーなのか区別がつかない。
しかし、条件付きアクセスで永続的セッションを禁止できるそうな。
※20190810時点ではプレビュー
条件付きアクセスの名前を付けて
ゲスト全員
全部のクラウドアプリ
永続的なブラウザーセッションにチェックして、「永続的にしない」
これでOK!
ユーザーを割り当てたら、内部ユーザーであっても、サインイン状態の保持は出なくなった。
これで安心してAzureADのゲストユーザーのサインイン履歴で判別できる。
#おまけ:ライセンスいるの?
テナント内のユーザーの条件付きアクセスは、Azure AD P1が必要だけど、M365 Businessでも大丈夫。
でもって、ゲストユーザーへ条件付きアクセスを適用できる数は、テナントのAzure AD P1のライセンス数の5倍まで。
今回はゲストにはライセンス割り当てていないけど、きちんと適用されてました。
#まとめ
永続的なサインインを禁止すると、サインイン後最大でも24時間になる。これでゲストユーザーのSharePointへのアクセスの際、Azure ADのサインインログに現れるようになる。
SharePointやTeamsでゲストユーザーを招待している場合は、この設定はおススメです。
1つ気になったのが、内部ユーザー。AzureADP1割り当ててないユーザーにも適用できたっぽい。こっちはおいおい調べてみる。