G-gen の武井です。当記事では Workforce Identity 連携を構成し、Google Cloud にアクセスする方法を解説します。IdP として Okta を、連携方法として SAML 2.0 を選択したケースの手順を紹介します。
- はじめに
- ユーザーとグループの設定
- Workforce Identity プールの作成
- Okta アプリ統合の作成
- Workforce Identity プロバイダの作成
- IAM ポリシーの設定
- 動作確認

はじめに
Workforce Identity 連携とは
Workforce Identity 連携とは、OIDC や SAML 2.0 に対応した IdP(Microsoft Entra ID や Okta 等)を利用するユーザーに、Google Cloud コンソールや Google Cloud リソースへのアクセスを提供する機能です。
外部 IdP 経由でシングル サインオン(SSO)を行い、Google Cloud コンソールにアクセスできるため、Google アカウントの作成は不要です。
この連携方法では、Workforce Identity プールとプロバイダというリソースを設定し、Google Cloud と外部 IdP との間の連携を実現して、必要な権限を付与します。
詳細は以下の公式ドキュメントをご確認ください。
設定の流れ
当記事では外部 IdP として Okta を用います。また、連携方式として SAML 2.0 を選択します。
大まかな設定手順は、以下のとおりです。
| 順序 | 設定項目 | 設定箇所 |
|---|---|---|
| 1 | ユーザーとグループの設定 | Okta |
| 2 | Workforce Identity プールの作成 | Google Cloud |
| 3 | Okta アプリ統合の作成 | Okta |
| 4 | Workforce Identity プロバイダの作成 | Google Cloud |
| 5 | IAM ポリシーの設定 | Google Cloud |
| 6 | 動作確認 | Okta / Google Cloud |
ユーザーとグループの設定
Okta のユーザーアカウントをグループに登録します。グループ名(今回の例ではokta-google-cloud)は後ほどの属性マッピングで使用します。

手順については以下の公式ドキュメントをご確認ください。
- 参考:ユーザーの作成
- 参考:グループの作成
- 参考:ユーザーをグループに追加する
Workforce Identity プールの作成
次に、Google Cloud 側で Workforce Identity プールを作成します。
プール ID(今回の例ではokta-wif-pool)は後ほどアプリ統合や Workforce Identity プロバイダで使用します。
# コマンド例 gcloud iam workforce-pools create okta-wif-pool \ --organization=1234567890 \ --display-name="okta-wif-pool" \ --description="OktaをIdpとしたGoogle Cloudログイン" \ --session-duration=900s \ --location=global

Okta アプリ統合の作成
概要
次に、Okta のユーザーアカウントで Google Cloud にアクセスするため、Okta アプリ統合を作成します。
本手順は Google Cloud 公式ドキュメントとしても用意がありますので、そちらに従い設定を行いつつ、重要な設定項目について補足します。
認証方式
認証方式は SAML 2.0 を選択します。

SAML 設定
全体像
最終的に以下となるよう設定します。

シングルサインオン URL
Workforce Identity プロバイダの ID を必要としますが、現時点ではまだ未設定です。今回の例では、okta-wif-providerという ID で作成する前提で設定します。
https://auth.cloud.google/signin-callback/locations/global/workforcePools/okta-wif-pool/providers/okta-wif-provider
オーディエンス URI
上記同様、Workforce Identity プロバイダ ID はokta-wif-providerとします。
https://iam.googleapis.com/locations/global/workforcePools/okta-wif-pool/providers/okta-wif-provider
デフォルトの RelayState
ログイン完了後の転送先のページにあたるため、https://console.cloud.google.com/とします。
- 参考:ログイン
グループ属性ステートメント
今回の例では okta-google-cloud というグループのみを対象とするため、グループ名に対するフィルターは等しい (=)とします。
Workforce Identity プロバイダの作成
次に、Google Cloud 側で Workforce Identity プロバイダを作成します。
作成した SAML アプリからメタデータを取得し、gcloud コマンド実行環境にファイル(今回の例ではidp-metadata.xml)として配置します。

ファイル配置が完了したのち、以下のコマンドで Workforce Identity プロバイダを作成します。
# コマンド例 gcloud iam workforce-pools providers create-saml okta-wif-provider \ --display-name="okta-wif-provider" \ --description="OktaをIdpとしたGoogle Cloudログイン" \ --workforce-pool="okta-wif-pool" \ --attribute-mapping="google.subject=assertion.subject,google.groups=assertion.attributes.groups" \ --attribute-condition="'okta-google-cloud' in assertion.attributes.groups" \ --idp-metadata-path="./idp-metadata.xml" \ --detailed-audit-logging \ --location="global"
実行後、Cloud コンソールから Workforce Identity プロバイダが作成されたこと(Workforce Identity プールに紐づいたこと)を確認します。

IAM ポリシーの設定
Google Cloud 側で、Workforce Identity に対して Google Cloud リソースへのアクセス件を付与します。
今回の例では、Workforce Identtity プロバイダーに紐づけた okta-google-cloud という Okta グループに対し、プロジェクトレベルで閲覧者ロール(roles/viewer)を付与します。
# コマンド例 gcloud projects add-iam-policy-binding sandbox-ggen \ --role="roles/viewer" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/okta-wif-pool/group/okta-google-cloud"

動作確認
以下のログインページから Google Cloud にアクセスできることを確認します。
https://auth.cloud.google/signin?continueUrl=https%3A%2F%2Fconsole.cloud.google%2F&hl=ja
ログイン画面に遷移したらプロバイダ名を入力して次に進みます。今回の例ではlocations/global/workforcePools/okta-wif-pool/providers/okta-wif-providerと入力します。

Okta のユーザー名を入力して次に進みます。

認証方法を選択し次に進みます。

認証に成功すると、Cloud コンソールに遷移します。Workforce Identity に閲覧者ロールを付与しているため、Cloud Storage バケットの作成はできませんが、閲覧はできました。

武井 祐介 (記事一覧)
クラウドソリューション部クラウドエンジニアリング課。
Google Cloud Partner Top Engineer 2026 選出。
Follow @ggenyutakei