👥

Azure Entra ID 全ユーザーがゲスト招待可能な規定値を変更する

に公開

はじめに

Entra IDには組織アカウント(別のEntraテナント)や個人アカウント(マイクロソフトアカウント等)をゲストユーザーとして招待することができます。

このAzure Entra B2B Collaborationのゲストユーザー招待はマルチテナント構成や社外パートナーとの協業時にとても有用な機能なのですが、Azureの規定値ではEntraロールをまったく付与されていない一般ユーザーでも誰でもゲストユーザーを招待できてしまいます。(招待されたゲストがさらにゲストを招待することも…)
知らぬ間に社外ユーザーが増殖しているという状態も起こりうるので、必要に応じてゲストユーザーを招待できるユーザーに制限をかける必要があります。
この記事ではゲストユーザー招待の流れと、それを実行できるユーザーの制限設定を試してみます。

設定してみる

個人でAzureを利用しているときの初期ユーザーは何?

個人アカウントでAzure Plan(従量課金プラン)をサインアップすると、新しいEntraテナントが作成されます。
そして、サインアップ時のユーザー名でEntra IDにメンバーユーザーが登録され、このメンバーユーザーでAzureにサインインします。
メンバーユーザー名は、メールアドレスから取得したプレフィックスとEntraテナントのドメイン名がセットされます。(prefix#EXT#@tenant.onmicrosoft.com)

Entra IDのユーザーの一覧画面で確認してみましょう。

ゲストユーザーを招待してみる

実際に個人のMicrosoftアカウントをゲストユーザーとして招待してみましょう。
Microsoftアカウントであれば、追加の設定なしでゲストユーザーとして招待可能です。

まずは、Entraの全ての管理権限を持つグローバル管理者ロールが付与されたユーサーでゲストユーザーの招待操作を行います。
以下の画面キャプチャは以降の操作を行うユーザーに付与されているEntraロールです。

Microsoft Entra IDのユーザーから、「外部ユーザーの招待」を開きます。

Microsoftアカウントのメールアドレスを入力して招待を実行します。

種別がゲストとして、ユーザーが追加されました。

招待を受けたユーザーにはメールが送信されるので、招待の承諾リンクを開きます。

招待を承諾することで、Azure Portalにログインできるようになります。

なお、ゲストユーザーは後からメンバーユーザーに変換することができます。

ゲストユーザーでゲストユーザーを招待してみる

先ほど招待したゲストユーザーでサインインして、さらにゲストユーザーを招待してみましょう。
招待されたばかりのゲストユーザーは、Entraロールは何も付与されていません。

Microsoft Entra IDのユーザーを開いてみます。
このゲストユーザーはEntraの参照権限を持っていないので、ユーザーの一覧は表示されません。

しかし、「外部ユーザーの招待」は有効になっています。

他のMicrosoftアカウントのメールアドレスを入力して招待を実行します。

ゲストユーザーがさらにゲストユーザーを招待することができました!

Entraの参照権限のあるユーザーで確認すると、ゲストユーザーが増えていることが分かります。

ゲストユーザーを招待できるユーザーに制限を掛けてみる

Azureの規定値ではEntraロールをまったく付与されていない一般ユーザーでも誰でもゲストユーザーを招待できてしまいます。
この設定を変更してみます。

Azure PortalでEntra IDを開き、External Identityから外部コラボレーションの設定を開きます。

ゲスト招待の設定ゲストと非管理者を含む組織内のすべてのユーザーがゲスト ユーザーを招待できる (最も包括的)になっています。
この設定は誰でもゲストユーザーの招待を可能にするもので、Azureの規定値となっています。

明示的にEntraロールを付与されているユーザーのみがゲストユーザー招待可能にしてみます。
設定を特定の管理者の役割に割り当てられているユーザーのみがゲスト ユーザーを招待できるに変更し、設定を保存します。

2時間ほど待ってみましたが、私の環境では「外部ユーザーの招待」は有効なままでした。しかし、ゲストユーザーの登録処理自体はブロックされます。もしかするとボタンは非活性にならないのかもしれません。

ゲストユーザーの招待を実行すると、このようにブロックされることが確認できます。

ユーザー管理者ロールを付与してから、もう一度ゲストユーザーの招待を行なってみます。

ゲストユーザー招待アクションが許可されているEntraロールが付与されているので、今度はゲストユーザーの追加が成功しました。期待通りの動作となります。

最後に

Azureの規定値では、Entraロールをまったく付与されていない一般ユーザーでも誰でもゲストユーザーを招待できてしまうこと、B2Bの外部コラボレーション設定を変更することで、ゲストユーザーの招待に制限を加えられることを確認しました。

招待されたゲストユーザーはロールが付与されていなければ出来る操作はかなり限られています。
ゲストユーザーが何ができるのかは、外部コラボレーションの設定 (ゲスト ユーザーのアクセス制限)で決まります。
こちらの規定値はゲスト ユーザーは、ディレクトリ オブジェクトのプロパティとメンバーシップへのアクセスが制限されますで、殆どのEntra設定の参照もできません

しかし、誰でもゲストユーザーを招待できる状態が好ましくない場合は設定の変更を検討してみてください。

参考

https://jpazureid.github.io/blog/azure-active-directory/external-collaboration-setting-b2b-access/

https://jpazureid.github.io/blog/azure-active-directory/member-and-guest-user/

https://qiita.com/YoshiakiOi/items/90d8162fc9fcfc3b01f1

Discussion