Microsoft 365でゲストユーザーを適切に管理するには、定期的な棚卸しが欠かせません。招待元や最終サインイン日時を把握することで、不要なユーザーを特定しセキュリティリスクを低減できます。本記事では管理者がゲストユーザーの招待元と最終サインインを確認する具体的な手順を解説します。この情報をもとに、ゲストユーザーの棚卸しを効率的に進めてください。
【要点】この記事で確認すること
- 最初に見る場所: Azure AD管理センターの「ユーザー」>「ゲストユーザー」一覧
- 切り分けの軸: 招待元(どのユーザーが招待したか)、最終サインイン日時(最近アクセスしているか)、招待の状態(承認済みか未承諾か)
- 注意点: ゲストユーザーの削除は元に戻せないため、影響を確認してから実施する。また、最終サインインが空欄のゲストは「まだ一度もサインインしていない」可能性が高い。
ADVERTISEMENT
目次
ゲストユーザーの棚卸しに必要な情報
ゲストユーザーの棚卸しでは、まず「どのユーザーがいつ招待したか」と「最後にいつサインインしたか」を把握する必要があります。招待元が不明だと、そのゲストが正当な手続きで招待されたのか、管理者が把握していない招待かを見極められません。また、最終サインイン日時が直近でなければ、既に利用されていない可能性が高いと判断できます。さらに、招待日時や割り当てられているグループ、ライセンスの有無も併せて確認することで、棚卸しの精度が向上します。
招待元を確認する意義
招待元を確認することで、招待を実施したユーザーが現在も在籍しているか、権限が適切かを判断できます。例えば、招待元が退職済みのユーザーである場合、そのゲストが放置されているリスクがあります。また、招待元が複数存在するゲストも稀に存在するため、管理者は一覧の中で整理しておく必要があります。
最終サインイン日時を確認する意義
最終サインイン日時は、ゲストユーザーが現在もアクティブに利用しているかどうかの重要な指標です。90日以上サインインがないゲストは利用停止とみなし、アクセス権の見直し対象とすることが推奨されます。ただし、アプリケーションによってはアクセスが長期化するケースもあるため、ビジネス要件に応じて閾値を設定してください。
Azure AD管理センターでゲストユーザー一覧を確認する手順
- Azure AD管理センター(https://aad.portal.azure.com)にグローバル管理者またはユーザー管理者アカウントでサインインします。
- 左側メニューから「ユーザー」を選択し、「すべてのユーザー」をクリックします。
- 上部のフィルターメニューで「ユーザータイプ」をクリックし、「ゲスト」にチェックを入れて適用します。
- 表示されたゲストユーザー一覧から、調査したいユーザーの名前をクリックしてプロフィール画面を開きます。
- プロフィール画面の「プロパティ」タブを開き、「招待元(Invited by)」フィールドで招待元を確認します。
- 「サインインログ」タブを開き、最新のサインイン日時を確認します。または、一覧画面で「最終サインイン日時」列が表示されていれば直接確認できます。
上記の手順で基本的な招待元と最終サインインが確認できます。ただし、最終サインイン列はデフォルトで表示されていない場合があるため、列の追加操作が必要です。一覧画面の「列」ボタンから「最終サインイン日時(最終サインインの日付)」を追加してください。
招待元ユーザーを特定する方法
招待元はGUIで個別に確認するのが簡単ですが、多数のゲストを棚卸しする場合は一括取得も検討します。以下の表で各方法の特徴を比較します。
| 方法 | 手軽さ | 必要な権限 | 詳細度 |
|---|---|---|---|
| GUI(Azure AD管理センター) | 簡単 | グローバル管理者またはユーザー管理者 | ユーザーごとに個別確認 |
| PowerShell (AzureAD モジュール) | 中程度 | グローバル管理者 | 全ゲストの招待元を一括取得可能 |
| Microsoft Graph API | 困難 | アプリケーション権限 | プログラムで柔軟な取得が可能 |
PowerShellを使用する場合、以下のコマンドで招待元を含むゲスト一覧をCSVに出力できます。
Connect-AzureAD
$guestUsers = Get-AzureADUser -Filter "UserType eq 'Guest'" -All $true
$guestUsers | Select-Object DisplayName, Mail, UserPrincipalName, @{Name='InvitedBy';Expression={$_.InvitedBy}} | Export-Csv -Path "GuestUsers.csv" -NoTypeInformation
このCSVファイルをExcelで開けば、招待元を一覧で確認できます。招待元が空欄の場合は、招待者自身が削除されたなど特殊なケースが考えられます。
ADVERTISEMENT
最終サインイン日時を確認する方法
最終サインイン日時は、Azure AD管理センターのサインインログから確認する方法と、PowerShellやGraph APIで取得する方法があります。ここでは管理者がよく利用するGUIとPowerShellの手順を説明します。
Azure AD管理センターで確認する手順
- Azure AD管理センターで「監視」セクションの「サインインログ」を開きます。
- フィルターで「ユーザー」を選択し、確認したいゲストユーザーのUPNまたはメールアドレスを入力します。
- 該当するサインインログが表示されたら、最新の「作成日時(Created Date Time)」が最終サインイン日時です。
- 失敗したサインイン(StatusがFailure)も含めて確認したい場合は、フィルターで「すべて」を選択します。
- サインインが表示されない場合は、そのゲストが一度もサインインしたことがない可能性があります。
ただし、サインインログは最大30日間しか保持されないため、それ以前のデータが必要な場合は、Azure AD Premium P1/P2ライセンスが必要です。無償版では過去7日間のみ保持されます。
PowerShellで一括取得する方法
Connect-AzureAD
$signIns = Get-AzureADAuditSignInLogs -Top 1000 | Where-Object {$_.UserPrincipalName -like "*guest*"}
$signIns | Select-Object UserPrincipalName, CreatedDateTime | Group-Object UserPrincipalName | ForEach-Object { $_.Group | Sort-Object CreatedDateTime -Descending | Select-Object -First 1 }
この方法で全ゲストの最新サインイン日時を抽出できます。ただし、大量のログを処理する場合は注意が必要です。
棚卸し結果を活用したアクション
確認した招待元と最終サインイン日時に基づいて、以下のアクションを検討します。
- 不要なゲストユーザーの削除:最終サインインが90日以上ない場合、または招待元が退職済みでそのゲストに既存のアクセスの必要性がない場合、削除を検討します。削除前に、割り当てられたグループやライセンスを確認してください。
- 招待元不明のゲストの調査:招待元が空欄の場合は、Azure ADの監査ログから招待操作を追跡してみてください。または、そのゲストに連絡を取り、誰からの招待かを確認する方法もあります。
- 再招待やアクセス権の更新:依然として必要なゲストがいると判断した場合、招待元のユーザーに再招待を依頼するか、管理者が直接再招待を実施します。
- 招待元が退職した場合の対処:招待元が退職したゲストは、管理者が所有権を引き継ぐか、必要なければ削除します。このとき、招待元のユーザーアカウントが削除されている場合、招待元フィールドに元の招待元名は表示されないことがあります。
失敗パターンと注意点
よくある失敗として、最終サインインが空欄のゲストを即座に削除してしまうことが挙げられます。空欄は一度もサインインしていないことを示しますが、招待メールは送信済みでまだサインインしていないだけの可能性もあります。また、最終サインイン日時が古くても、定期的なバッチ処理でバックグラウンドアクセスが発生しているケースもあるため、短期間での削除は避けるべきです。
管理者への伝える情報として、ゲストユーザーの削除は元に戻せないこと、また削除後にMicrosoft 365全体(Teams、SharePoint、Outlookなど)から完全にアクセスできなくなることを認識しておく必要があります。
よくある質問(FAQ)
- Q: 招待元が表示されないゲストがいます。なぜですか?
A: 招待元が削除されたユーザーアカウントである場合、表示されないことがあります。また、招待元が元々ゲストユーザーである場合も同様です。このような場合は、Azure ADの監査ログ(「ユーザー管理のアクティビティ」>「ゲストを招待する」)から招待操作を検索してください。 - Q: 最終サインイン日時が空欄のゲストは削除しても問題ありませんか?
A: 一度もサインインしていないゲストは、基本的にリソースにアクセスした実績がないため、削除しても問題ないでしょう。ただし、今後使用予定がある場合は、削除前に担当者に確認することをお勧めします。 - Q: ゲストユーザーをCSVにエクスポートする方法は?
A: Azure AD管理センターの「ユーザー」一覧で「ダウンロードユーザー」オプションを使用するか、PowerShellのExport-Csvコマンドを利用します。ダウンロードされるCSVには基本属性しか含まれないため、招待元や最終サインインを取得したい場合はPowerShellのカスタムスクリプトが適しています。
まとめ
ゲストユーザーの棚卸しには、招待元と最終サインイン日時の確認が不可欠です。Azure AD管理センターのGUIで個別に確認する方法とPowerShellで一括取得する方法を状況に応じて使い分けてください。招待元が不明なゲストや最終サインインが古いゲストはセキュリティリスクとなるため、適切なアクションを実施しましょう。また、ゲストユーザーの削除は不可逆であるため、影響範囲を確認してから行うことが重要です。定期的な棚卸しを実施することで、Microsoft 365環境の安全性を維持することができます。
ADVERTISEMENT
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Outlook】メール本文が「文字化け」して読めない!エンコード設定の変更と修復手順
