DX開発事業部の開江です!
本記事では、 Workforce Identity Federation を利用して、Google Agentspace を外部 ID プロバイダ(Entra ID)と SSO 連携する手順について紹介します。

Workforce Identity Federation とは

Workforce Identity Federation は、Google Cloud が提供する ID フェデレーションサービスです。
既存の ID プロバイダ(IdP)を利用して、従業員の Google Cloud リソースへのアクセスをセキュアに管理できます。

本来、Google Cloud リソースへのアクセスには Google アカウントが必要ですが、このサービスを用いることで、従業員ごとに Google アカウントを作成・同期する必要がなくなります。
Microsoft Entra ID や Okta のような外部 IdP で認証されたユーザーは、その ID 情報を保持したまま Google Cloud の IAM プリンシパルとして認識され、ロールに基づいたアクセス権が付与されます。

Google Agentspace とは

Google Agentspace は、Google Cloud が提供する企業向けの AI エージェントプラットフォームです。
このプラットフォームの特長は、組織内の様々なシステムやアプリケーションに散在する情報を横断的に検索し、タスクの実行ができる点にあります。
Gmail や Google Drive といった Google サービスだけでなく、Slack や Jira などのサードパーティ製アプリケーションともシームレスに連携可能です。

Agentspace の主な機能については、以下の記事も是非ご覧ください。

【Google Cloud Next ’25】社内情報を検索できる AI ポータルを簡単構築🚀 Google Agentspace を試してみました!

前提

Google Cloud

  • 有効な Google Cloud 組織とプロジェクトが存在すること。
  • 作業を行うアカウントに、以下の IAM ロールが付与されていること。
    • ワーカープール管理者
    • Project IAM 管理者
    • ディスカバリー エンジン管理者
    • Cloud NotebookLM 管理者

Entra ID

  • 有効な Microsoft Entra ID テナントが存在すること。
  • 作業を行うアカウントに、アプリケーション管理者ロールが付与されていること

Entra ID 側の設定

アプリケーション登録

Entra ID コンソールで 「アプリの登録」 > 「エンドポイント」を選択します。

「OpenID Connect メタデータ ドキュメント」の URL をコピーし、新しいタブで開きます。

レスポンスの issuer を控えておきます。

「アプリの登録」に戻り、「+新規登録」を選択します。

  • 名前:アプリケーションの表示名を入力します。
  • サポートされているアカウントの種類:「この組織ディレクトリのみに含まれるアカウント」を選択します。
  • リダイレクト URI:以下のように設定します。
    • プラットフォームの選択:Web
    • URL:https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      • WORKFORCE_POOL_ID:後ほど GC で Workforce Identity プールを作成するときに使用するID
      • WORKFORCE_PROVIDER_ID:後ほど GC で Workforce Identity プール プロバイダを作成するときに使用するID

「登録」を押下後、アプリケーションを登録します。
アプリケーションが登録されたら、「概要」ページに表示される アプリケーション(クライアント)ID をコピーします。

続いて、証明書またはシークレットの追加 を押下してクライアントシークレットを設定します。

「+新しいクライアントシークレット」を選択し、説明を入力します。

「追加」を押下後、作成されたクライアントシークレットの値を控えておきます。

(任意)Entra ID のグループでアクセス制御する

特定のユーザーグループのみに Agentspace へのアクセスを許可したい場合、Entra ID のセキュリティグループを利用したアクセス制御が必要です。
この設定により、Entra ID のグループ情報が Google Cloud 側に渡され、より厳密なアクセスポリシーの適用が可能になります。

Entra ID のコンソールで「グループ」>「すべてのグループ」を選択します。
「新しいグループ」を選択し、セキュリティグループを作成の上、アクセスさせるユーザーをこのグループのメンバーに追加します。

作成後、グループの オブジェクトID(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx)を控えます。

Entra ID コンソールで 「アプリケーション」 > 「アプリの登録」>「作成したアプリケーション」に移動します。
「トークン構成」>「+グループ要求の追加」を押下します。

以下のように設定し、「保存」を押下します。

  • アクセス、ID、SAML トークンに含めるグループの種類を選択してください。:セキュリティグループ
  • ID:グループID

Google Cloud Workforce Identity Pool およびプロバイダーの設定

Workforce Identity Pool の作成

Google Cloud コンソールで 「IAMと管理」>「Workforce Identity Federation」>「プールを作成」を選択します。
組織を管理するユーザーアカウントでログインしてください。

名前、説明を入力し、「次へ」を押下します。
ここで入力する名前は、Entra ID コンソールで使用した WORKFORCE_POOL_ID と一致する必要があることに注意してください。

OIDC Workforce Identity Pool プロバイダーの作成

作成したプールを選択し、「プロバイダーを追加」を押下します。

  • プロトコル:OpenID Connect (OIDC) を選択します。
  • 名前: Entra ID コンソールで使用したものと一致するプロバイダー名
  • 発行元(URL):Entra ID から取得した issuer を入力します。
  • クライアントID:Entra ID 連携アプリケーションのアプリケーション(クライアント)IDを使用します。
  • レスポンスタイプ :
    • Code:
      • アサーション要求の動作:User info and ID Token
      • クライアントシークレット:Entra ID コンソールで控えたクライアントシークレットの値を入力します。
  • 属性マッピング:以下のように設定します。
    • google.subject:assertion.email
    • google.display_name:assertion.preferred_username
    • (任意)google.groups:assertion.groups
  • (任意)属性条件:Entra ID コンソールでセキュリティグループを作成した場合は、以下の CEL 式を入れます。
'<Group ID>' in assertion.groups

作成した Workforce プールを選択し、ログイン URL を押下します。
Microsoft ユーザー向けのウィンドウからログイン後、Google Cloud コンソールが表示されれば、OIDC は正しく設定されています。


Agentspace のアクセス権付与設定

Entra ID のユーザーが Agentspace を利用するために必要なアクセス権を Workforce Identity Pool に対して設定します。

Workforce Identity Pool に対する権限の付与

Google Cloud コンソールでプロジェクトの IAM 画面に移動し、以下のようなプリンシパルに対して必要なロールを付与します。

  • プリンシパル
    • プール全体に付与する場合:principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*
    • グループ毎に付与する場合:principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/グループのオブジェクトID
  • IAMロール:
    • Cloud NotebookLM ユーザー
    • ディスカバリーエンジン ユーザー

Agentspace の Workforce Identity Pool 設定

Google Cloud コンソールで「AI Applications」>「設定」>「認証」に移動します。

IDプロバイダを選択し、以下の形式で サードパーティの ID を入力後、「保存」を押下します。

locations/global/workforcePools/<WORKFORCE_POOL_ID>

続いて、「AI Applications」>「アプリ」> 「任意のAgentspaceアプリ」>「統合」>「Webアプリ」に移動します。

ウェブアプリを有効化し、Workforce Identity プール プロバイダの入力 に以下の形式でプロバイダを入力後、「保存」を押下します。

locations/global/workforcePools/<WORKFORCE_POOL_ID>/providers/<WORKFORCE_PROVIDER_ID>

ウェブアプリへのリンクをコピーし、新しいタブで開きます。
以下のような Microsoft ユーザー向けのサインインウィンドウにリダイレクトされれば、Agentspace は正しく設定されています。

最後に、「AI Applications」>「設定」> 「ライセンス」に移動します。
「ライセンスを自動的に割り当てる」にチェックが入っていることを確認後、Entra ID ユーザーでログインが成功したら設定完了です。

さいごに

今回は、Workforce Identity Federation を利用して、外部 Idp と Google Agentspace を SSO 連携させる手順をご紹介しました。
本記事がお役に立てれば幸いです。
最後まで読んでいただきありがとうございました!

参考:Microsoft Entra ID との Workforce Identity 連携を構成してユーザー ログインを行う