以下の内容はhttps://blog.g-gen.co.jp/entry/sso-to-google-cloud-with-samlより取得しました。


SAMLでGoogle Cloudにシングルサインオンする方法(Workforce IdentityによるOktaからのSSO)

記事タイトルとURLをコピーする

G-gen の武井です。当記事では Workforce Identity 連携を構成し、Google Cloud にアクセスする方法を解説します。IdP として Okta を、連携方法として SAML 2.0 を選択したケースの手順を紹介します。

はじめに

Workforce Identity 連携とは

Workforce Identity 連携とは、OIDCSAML 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 選出。




以上の内容はhttps://blog.g-gen.co.jp/entry/sso-to-google-cloud-with-samlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14