Azure Active Directoryのゲスト管理はできていますか?
この記事の内容
- ゼロトラストの考え方に基づき、ゲストアカウント管理がセキュリティ上重要である理由を解説します
- Azure ADには「内部/外部」×「メンバー/ゲスト」の4種類のユーザータイプが存在します
- クロステナントアクセスアクティビティワークブックを使って現状を把握する方法を紹介します
- ゲスト管理の3ステップ(招待・制御・棚卸し)とそれを支えるAzure ADの機能を説明します
- Microsoft公式が推奨するEntitlement Management・条件付きアクセス・アクセスレビューの活用を案内します
なぜゲストアカウント管理が重要なのか
Azure ADを活用してクラウド環境を構築し、便利に使えるようになった組織が次に取り組むべき重要テーマが「ゲストアカウント管理」です。
ゼロトラストの考え方に基づくと、外部から招待したゲストであっても「正しい人物が来ている」「安全なことしかしない」という前提を置いてはいけません。ゲストアカウントが乗っ取られ、不正侵入者がデータを盗むケースも想定する必要があります。そのため、常に認証・認可を適切に行い、最小権限の原則を徹底し、侵害が起きても被害を最小限に抑える設計が求められます。
よくある課題として、次のような状況が見受けられます。
- ゲストユーザーを招待したまま管理が放置されている
- 本来必要のないアクセス権が一律で付与されている
- プロジェクト終了後も当初の権限が残り続けている
- ゲストユーザーが外部組織に在籍し続けているかどうか確認できていない
- 1つの組織に対して共有アカウントを払い出して使い回している
「適切なユーザーのみが、適切なアクセス権を、適切な期間だけ保有する」という原則は、内部ユーザーだけでなくゲストにも適用しなければなりません。内部ユーザーに対してはActive Directory時代から運用フローが確立されていることが多い一方、ゲスト管理は後回しにされがちです。この点がセキュリティ上の弱点になりえます。
Azure ADにおける4種類のユーザータイプ
Azure ADのゲスト管理を理解するうえで、ユーザーのタイプを正しく把握することが大切です。Azure ADのユーザーには「認証元(内部/外部)」と「ユーザータイプのプロパティ(メンバー/ゲスト)」の2軸があり、組み合わせると4種類に分類されます。
| 認証元 | ユーザータイプ | 説明 |
|---|---|---|
| 内部(自テナント) | メンバー | 通常の内部ユーザー。最も一般的な形態 |
| 外部(他テナント等) | ゲスト | 外部組織からゲストとして招待されたユーザー(今回の主題) |
| 外部(他テナント等) | メンバー | 外部ユーザーに内部ユーザーと同等の権限を持たせたい場合 |
| 内部(自テナント) | ゲスト | Azure AD B2B利用以前に用いられた形態(内部ゲスト) |
このユーザータイプのプロパティは、Azure ADのユーザー画面から「プロパティの変更」→「ユーザーの種類」で変更できます。内部で作成したユーザーをゲスト扱いにしたり、外部から招待したユーザーをメンバーに変更したりすることが可能です。
今回の主題となるゲストアカウント管理とは、「外部組織のユーザーをゲストタイプとして招待・管理する」ケース、つまり上記の表の2行目が対象です。
内部ゲスト(左下のパターン)について
内部ゲストは、Azure AD B2Bが利用できなかった時代に使われていたパターンです。現在では、外部のIDをそのままB2Bで招待するほうがメリットが多いため、積極的に使う場面は少なくなっています。ただし、個人事業主の方など外部IDを招待できない事情がある場合は、内部でアカウントを作成してゲストに設定するシナリオが有効なこともあります。
ゲストアカウントのよくある利用シナリオ
ゲストアカウントが実際に使われる主なシナリオは次のとおりです。
- 外部ユーザーをTeamsのチームに招待する — 取引先や協力会社と共同作業する際によく使われます
- SharePointのファイルを外部ユーザーと共有する — ドキュメント共有や共同編集に利用されます
- シングルテナントアプリケーションへのアクセス許可を付与する — Azure AD認証を使ったアプリケーションに外部ユーザーのアクセスを許可するシナリオです
これらのシナリオでゲストを招待した後は、適切な管理が必要になります。
現状把握:クロステナントアクセスアクティビティワークブック
ゲスト管理の第一歩は現状把握です。「自分の組織にどれだけのゲストが存在し、どのようなアクティビティがあるのか」を把握するために、Azure ADのワークブック機能が活用できます。
ワークブックの使い方
Azure ADの管理画面からワークブックにアクセスすると、「クロステナントアクセスアクティビティ」ワークブックが用意されています。このワークブックでは以下の情報が確認できます。
- インバウンド・アウトバウンドのサインイン回数
- 成功・失敗の件数とステータスコード、失敗理由
- アクセスされたアプリケーション
- アクセスしたユーザー一覧
事前に必要な設定:診断設定の有効化
ワークブックを利用するには、事前にAzure ADのログをLog Analytics(Azure Monitor)に送信する設定が必要です。設定手順は以下のとおりです。
- Azure ADの管理画面で「診断設定」に移動する
- 「診断設定を追加する」をクリックする
- 診断設定の名前を任意で入力する(例:
aad-diag) - 送信するログの種類を選択する(監査ログ、サインインログ など)
- 送信先として「Log Analyticsワークスペースへ送信」を選択し、サブスクリプションとワークスペースを指定する
- 「保存」をクリックする
注意: この設定を行うには、Azure ADに対する強い権限(全体管理者など)と、Azureサブスクリプション上にLog Analyticsワークスペースを作成する権限が必要です。また、サインインデータのエクスポートにはAzure AD P1またはP2ライセンスが必要です。
診断設定を有効にした後、ログが蓄積されるとワークブックでアクティビティの詳細が確認できるようになります。
ゲスト管理の3ステップ
Microsoftが推奨するゲスト管理の基本サイクルは以下の3ステップです。
- 招待・アクセス権の割り当て:ゲストを招待し、必要なアクセス権を付与する
- アクセス権の管理・制御:アクセスを継続的にコントロールする
- 棚卸し・アクセス権の剥奪:定期的にアクセス権を見直し、不要なものを削除する
このサイクルを継続的に回すことが重要です。各ステップには次のような課題があります。
- 招待プロセスをどう設計するか(管理者のみが招待できるようにするか、一般ユーザーにも解放するか)
- 権限の付与をその場で行うのか、別の承認フローを設けるのか
- ゲストが本人かどうかをどう確認するか
- 定期棚卸しをどのようなプロセスで効率的に実施するか
Azure ADが提供するゲスト管理機能
上記の3ステップに対して、Azure ADには専用の機能が用意されています。
1. Entitlement Management(エンタイトルメント管理)
招待プロセスとアクセス権の割り当てを自動化・体系化するための機能です。アクセスパッケージと呼ばれる単位でリソースへのアクセス権をまとめて管理し、承認ワークフローや有効期限を設定できます。
2. 条件付きアクセス・リスクベースアクセス制御
ゲストがアクセスする際の条件を細かく制御できます。多要素認証(MFA)の要求、デバイスの状態確認、サインインリスクに基づいたアクセスのブロックなどが設定可能です。
3. アクセスレビュー
定期的な棚卸しを自動化する機能です。管理者やリソースオーナーが定期的にゲストのアクセス権の継続要否を確認し、不要な権限を効率的に剥奪できます。
まとめ
Azure ADのゲスト管理は、クラウド活用が進んだ組織が次に取り組むべき重要なセキュリティテーマです。ゼロトラストの原則に基づき、ゲストアカウントを「招待・管理・棚卸し」の3ステップで継続的に管理することが求められます。
まずはクロステナントアクセスアクティビティワークブックを使って現状を把握し、想定以上のゲストアクティビティが発生していないか確認するところから始めてみましょう。そのうえで、EntitlementManagement・条件付きアクセス・アクセスレビューというAzure ADの機能を活用し、適切なゲスト管理の仕組みを構築することをお勧めします。
サービスを作っている側のMicrosoftが「ゲスト管理が重要」と明言し、そのための機能を提供しています。提供されている推奨機能・思想に沿って環境を構築することが、長期的なセキュリティ維持につながります。