連携 ID を使用して gcloud CLI にログインする

このドキュメントでは、ブラウザベースのログインを使用して、連携 ID で Google Cloud CLI にログインする方法について説明します。

始める前に

  1. 管理者が Workforce Identity 連携を設定、構成していることを確認します。

  2. 次のいずれかのオプションをサポートする情報があることを確認します。この情報は管理者から入手できます。

ログイン構成ファイルを取得する

このセクションでは、gcloud CLI へのログインに使用できるログイン構成ファイルを取得する方法について説明します。

ログイン構成ファイルを作成する

Workload Identity プール ID と Workload Identity プール プロバイダ ID を使用して、ログイン構成ファイルを作成できます。

ログイン構成ファイルを作成するには、次のコマンドを実行します。必要に応じて、--activate フラグを追加して、このファイルを gcloud CLI のデフォルトとして有効にできます。その後、構成ファイルのパスを毎回指定しなくても gcloud auth login を実行できます。

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \
    --output-file=LOGIN_CONFIG_FILE_PATH

次のように置き換えます。

  • WORKFORCE_POOL_ID: Workforce プール ID
  • PROVIDER_ID: プロバイダ ID
  • LOGIN_CONFIG_FILE_PATH: 指定した構成ファイルのパス(例: login.json

このファイルには、gcloud CLI でブラウザベースの認証フローを有効にし、Workforce Identity プール プロバイダで構成された IdP にオーディエンスを設定するために使用するエンドポイントが含まれています。ファイルに機密情報は含まれていません。

出力は次のようになります。

{
  "type": "external_account_authorized_user_login_config",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "auth_url": "https://auth.cloud.google/authorize",
  "token_url": "https://sts.googleapis.com/v1/oauthtoken",
  "token_info_url": "https://googleapis.com/v1/introspect",
}

これで、gcloud CLI にログインできます。

ログイン構成ファイルを保存する

提供された認証情報構成ファイルの内容をファイルに保存できます。パスをメモしてから、gcloud CLI にログインします。

gcloud CLI にログインする

ログイン構成ファイルを使用して gcloud CLI にログインするには、次のコマンドを実行します。

gcloud auth login --login-config="LOGIN_CONFIG_FILE_PATH"

LOGIN_CONFIG_FILE_PATH は、ログイン構成ファイルのパスに置き換えます。このコマンドを実行すると、構成が有効になり、ログイン構成ファイルを毎回指定しなくても gcloud auth login を実行できるようになります。有効化を無効にするには、--no-activate を使用します。