使用聯合身分登入 gcloud CLI

本文說明如何使用瀏覽器登入,透過同盟身分登入 Google Cloud CLI。

事前準備

  1. 請確認管理員已設定並配置員工身分聯盟

  2. 請確認您有資訊可支援下列任一選項。 如需這項資訊,請洽詢管理員。

    • 工作團隊身分集區和提供者 ID:工作團隊身分集區 ID 和工作團隊身分集區提供者 ID,可用於建立登入設定檔

    • 現有設定檔:現有登入設定檔的路徑,可用於登入 gcloud CLI

    • 設定檔內容:可儲存至設定檔的設定檔內容。

取得登入設定檔

本節說明如何取得登入設定檔,以便登入 gcloud CLI。

建立登入設定檔

您可以使用工作負載身分集區 ID 和工作負載身分集區提供者 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:工作團隊集區 ID
  • PROVIDER_ID:供應商 ID
  • LOGIN_CONFIG_FILE_PATH:您指定的設定檔路徑,例如 login.json

這個檔案包含 gcloud CLI 用來啟用瀏覽器型驗證流程的端點,並將目標對象設為工作團隊身分集區提供者中設定的 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://sts.googleapis.com/v1/introspect",
}

如要停止讓 gcloud auth login 自動使用這個設定檔,可以執行 gcloud config unset auth/login_config_file 取消設定。

現在可以登入 gcloud CLI

儲存登入設定檔

您可以將系統提供的憑證設定檔內容儲存至檔案。記下路徑,然後登入 gcloud CLI

登入 gcloud CLI

如要使用登入設定檔登入 gcloud CLI,請執行下列指令:

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

如果尚未啟用登入設定檔,請將 LOGIN_CONFIG_FILE_PATH 替換成登入設定檔的路徑。不過,如果您先前已使用 --activate 旗標啟用這個檔案,就不需要再次指定檔案。請改為執行下列指令:

gcloud auth login