【Q&Aコーナー】Entra IDゲストユーザーの棚卸について

皆さんこんにちは。国井です。
Microsoft Entra IDの外部ユーザー(ゲストユーザー)って作る方法はわかったけど、不要になった時の削除っていつすればよいの?というご質問をいただいたので、お答えしていきます。

■ ■ ■

ゲストユーザーは基本的にMicrosoft Entra IDテナントを保有する会社以外のユーザー、つまり社外のユーザーに対するクラウドサービスへのアクセス権を割り当てるために存在します。
よくあるところではMicrosoft Teamsへのアクセス権を割り当てたり、OneDrive for Businessでフォルダーを共有するためにアクセス権を割り当てたりするのに使います。
しかしゲストユーザーっていつ削除すればよいのか?という疑問があります。

一般のユーザーであれば退職したタイミングがユーザーを削除するタイミングになりますが、
ゲストユーザーの場合、他社のユーザーなので、いつ退職したか?なんてわかりません。
また、ゲストユーザーは自分の会社で使っているMicrosoft Entra IDユーザーのショートカットであり、おおもとのユーザーが削除されたからと言ってゲストユーザーが連動して削除するわけではありません。かといってゲストユーザーを削除しないで放置すれば、ゴミが増えるだろうし、何よりもセキュリティリスクも高まってしまう。
そこでゲストユーザーが最後にアクセスしたのがいつか?を追跡し、それをもとに例えば1年間サインインしていないユーザーがいたら削除する、のような運用ルールを設けるのもひとつの方法です。

サインイン履歴を追跡する

ただしMicrosoft Entra IDのサインインログは30日間、監査ログからでも最大180日(E5だと1年間)しか保存されません。そこで私のお勧めは少しコストがかかってしまうけど、Microsoft AzureのLog Analyticsワークスペースに保存しておくことです。Log Analyticsワークスペースにサインインログを保存しておく方法自体は過去の投稿で解説しているのでこちらからどうぞ。

Log Analyticsワークスペースにログを保存しておくとクエリを実行できるので
これを使ってユーザーごとに最後にサインインした日時を表示させると
使われていないゲストユーザーがきれいに表示されます。

SigninLogs
| where UserType has "guest"
| summarize arg_max(TimeGenerated,*) by UserPrincipalName
| order by TimeGenerated asc

実行結果はこちら。
TimeGenerated列で最後にサインインした日時が確認できます。

image