使用聯合身分登入 gcloud CLI

員工身分聯盟可讓您使用外部身分識別資訊提供者 (IdP) 的憑證,登入 Google Cloud CLI。您可以使用瀏覽器登入流程,從指令列存取 Google Cloud 資源,不必管理個別 Google 帳戶。

事前準備

  1. 確認管理員已設定員工身分聯盟。

  2. 請確認您有資訊可支援下列其中一個選項。 管理員可以提供這項資訊。如果您是管理員,可以列出工作團隊集區和提供者,找出這些 ID。

取得登入設定檔

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

建立登入設定檔

您可以使用員工身分集區 ID 和員工身分集區提供者 ID,建立登入設定檔。如果您是管理員,可以列出員工集區和提供者,找出這些 ID。

執行下列指令,建立登入設定檔:

Linux 和 macOS

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

Windows (PowerShell)

gcloud iam workforce-pools create-login-config `
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
    --output-file=LOGIN_CONFIG_PATH

更改下列內容:

  • WORKFORCE_POOL_ID:員工身分聯盟集區 ID。
  • WORKFORCE_PROVIDER_ID:員工身分聯盟提供者 ID。
  • LOGIN_CONFIG_PATH:寫入登入設定檔的路徑。例如:login-config.json。

登入設定檔包含 gcloud CLI 使用的端點,可啟用瀏覽器型驗證流程,並將目標對象設為員工身分集區供應商中設定的 IdP。檔案不含機密資訊。

登入設定檔內容大致如下:

{
  "universe_domain": "googleapis.com",
  "universe_cloud_web_domain": "cloud.google",
  "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 CLI。

儲存登入設定檔

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

登入 gcloud CLI

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

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

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

gcloud auth login