こんにちは。今回は、SC-300資格試験の勉強としてGoogle アカウントを使用してゲストユーザーを招待する方法を調べましたので、確認できたことと実際に動作検証した結果を記載します。
概要
Microsoft Entra IDでは、Googleとのフェデレーション(認証連携)を設定することで、招待されたゲストユーザーがMicrosoft アカウントを作成することなく、独自のGmail アカウントを使用して共有アプリやリソースへサインインできるようになります。
Microsoft Entra 管理センターにて、構成済みのIDプロバイダーとしてGoogleを追加することで実現することができます。
参考:Google を B2B ゲスト ユーザーの ID プロバイダーとして追加する

早速ですが、次の章からGoogle アカウントでサインインできる環境を用意して動作確認を実施していきたいと思います。
重要 今回ご紹介するGoogle フェデレーションは、Gmail ユーザー専用に設計されている機能です。Google Workspace ドメインとのフェデレーションを構成する場合は、「ゲスト ユーザー向けの SAML/WS-Fed ID プロバイダーとのフェデレーション」をご参照ください。
動作検証
環境準備
Google アカウントでMicrosoft Entra IDへサインインするために、以下の手順で環境準備を実施していきます。
- Google Cloudで新しいプロジェクト作成(Google Cloud Console)
- OAuth 同意画面の作成(Google Cloud Console)
- OAuth クライアントIDの作成(Google Cloud Console)
- 検証用 Google アカウントの追加(Google Cloud Console)
- Google フェデレーションの設定(Microsoft Entra 管理センター)
- Google アカウントを外部ユーザーとして招待(Microsoft Entra 管理センター)
まずは、Google Cloud ConsoleへアクセスしてMicrosoft Entra IDのフェデレーション設定で登録するクライアントIDおよびクライアントシークレットを取得します。(※検証用のGoogle アカウントは予め作成していることを前提とします。)
1. Google Cloudで新しいプロジェクト作成(Google Cloud Console)
Google Cloud Console へアクセスして[プロジェクトの選択]ページを開き、[新しいプロジェクト]を選択します。[新しいプロジェクト]ページで、プロジェクト名を入力して[作成]をクリックします。

新しく作成したプロジェクトへアクセスします。

2. OAuth 同意画面の作成(Google Cloud Console)
[APIとサービス]の画面で[OAuth consent screen]を選択し、OAuth 同意画面を表示します。[User Type]で[外部]を選択し、[作成]をクリックします。

[OAuth 同意画面]の[アプリ情報]で、アプリ名とユーザーサポートメールを入力します。

[承認済みドメイン]に microsoftonline.com ドメインを追加し、デベロッパーの連絡先情報を入力して[保存して次へ]をクリックします。

3. OAuth クライアントIDの作成(Google Cloud Console)
左メニューで、[認証情報]を選択します。[認証情報を作成]を選択し、[OAuth クライアントID]をクリックします。

アプリケーションの種類で[ウェブアプリケーション]を選択し、任意の名前を入力します。

承認済みのリダイレクトURIに「https://login.microsoftonline.com」「https://login.microsoftonline.com/te/**tenant ID**/oauth2/authresp」「https://login.microsoftonline.com/te/**tenant name**.onmicrosoft.com/oauth2/authresp」を追加して[作成]をクリックします。(※tenant IDとtenant nameは、Microsoft Entra 管理センターの[ID > 概要]画面で確認できます。)

クライアントIDとクライアントシークレットが表示されますのでコピーします。(※後ほど使用します。)

4. 検証用 Google アカウントの追加(Google Cloud Console)
左メニューで、[OAuth consent screen]を選択します。テストユーザーのセクションで[ADD USERS]を選択し、検証用 Google アカウントのGmail アドレスを入力し、[保存]をクリックします。

続いて、Microsoft Entra 管理センターへアクセスして、Google フェデレーションの設定を行います。
5. Google フェデレーションの設定(Microsoft Entra 管理センター)
Microsoft Entra 管理センター へアクセスして、[ID > External Identities > すべてのIDプロバイダー]を選択し、[Google]をクリックします。

先ほどコピーしたクライアントIDとクライアントシークレットを入力して[保存]をクリックします。

6. Google アカウントを外部ユーザーとして招待(Microsoft Entra 管理センター)
[ID > ユーザー > すべてのユーザー]を選択し、画面上部の[新しいユーザー]メニューより[外部ユーザーの招待]をクリックします。

外部ユーザーの情報を入力して[レビューと招待]をクリックします。メールは、先ほどテストユーザーに登録したGoogle アカウントのアドレスを入力します。

以上で、環境準備は完了です。
動作確認
検証用のGoogle アカウントでMicrosoft Entra IDへのアクセス確認を実施していきます。
1. 検証用 Google アカウントでGmailサービスを起動し、招待メッセージを受信していることを確認します。メッセージ内の[招待の承諾]をクリックします。

2. Googleの認証画面に遷移しますので、自身のGoogle アカウントを選択します。

3. アクセス許可の要求画面が表示されますので、[承諾]をクリックします。

4. Microsoftのマイアプリ画面へアクセスできることを確認します。

以上で、外部ユーザー招待プロセスによるアクセス確認は完了です。次にMicrosoft 365ホーム画面へのアクセス確認を実施します。
1. 新規でブラウザを起動して「https://login.microsoftonline.com」へアクセスします。Microsoftのサインイン画面が表示されたら、[サインイン オプション]をクリックします。

2. サインイン オプションで[組織へのサインイン]をクリックします。

3. Microsoft Entra IDのテナントドメイン名を入力し、[次へ]をクリックします。

4. Microsoft Entra ID テナントへのサインイン画面が表示されますので、検証用 Google アカウントのメールアドレスを入力し、[次へ]をクリックします。

5. Googleのログイン画面に遷移しますので、検証用 Google アカウントのメールアドレスが表示されていることを確認し、[次へ]をクリックします。

6. 検証用 Google アカウントのパスワードを入力し、認証が完了したらMicrosoft 365 ホーム画面が表示されることを確認します。

さいごに
今回は、SC-300の資格対策としてGoogle アカウントを使用してゲストユーザーを招待する方法について動作検証を実施しました。利用するケースはそこまで多くなさそうですが、Google アカウントしか持たない方を組織内のリソースへアクセス許可したい場合は活用していきたいと思います。