工作負載的 ID

本頁說明可用來設定工作負載資源存取權的 Google Cloud 身分類型。

Google Cloud 為工作負載提供下列類型的身分識別:

您可為工作負載使用的身分類型,以及設定方式,取決於工作負載的執行位置。

在「 Google Cloud」上設定工作負載

如果您在 Google Cloud上執行工作負載,可以使用下列方法為工作負載設定身分:

  • 連結的服務帳戶
  • GKE 適用的工作負載身分聯盟 (僅適用於在 Google Kubernetes Engine 上執行的工作負載)
  • 受管理的工作負載身分 (僅適用於在 Compute Engine 和 GKE 上執行的工作負載)
  • 服務帳戶金鑰

連結的服務帳戶

對於部分 Google Cloud 資源,您可以指定使用者管理的服務帳戶,做為資源的預設身分。這個程序稱為將服務帳戶「附加」至資源,或將服務帳戶「關聯」至資源。 當在資源上執行的程式碼存取 Google Cloud 服務和資源時,會使用附加至資源的服務帳戶做為身分。舉例來說,如果您將服務帳戶附加至 Compute Engine 執行個體,且執行個體上的應用程式使用用戶端程式庫呼叫 API,這些應用程式就會自動使用附加的服務帳戶進行驗證和授權。 Google Cloud

在大多數情況下,您必須在建立資源時將服務帳戶附加至該資源。資源建立完成後,您就無法變更附加至資源的服務帳戶。Compute Engine 執行個體是這項規則的例外狀況,您可以視需要變更附加至執行個體的服務帳戶。

詳情請參閱「將服務帳戶附加至資源」。

Workload Identity Federation for GKE

對於在 GKE 上執行的工作負載,您可以透過 Workload Identity Federation for GKE,為叢集中的每個應用程式,授予不同且精細的主體集 IAM 角色。透過 GKE 適用的工作負載身分聯盟,GKE 叢集中的 Kubernetes 服務帳戶可直接使用工作負載身分聯盟存取資源,也可以使用 IAM 服務帳戶模擬功能間接存取資源。 Google Cloud

使用直接資源存取權時,您可以直接在 Google Cloud 服務的資源上,將 IAM 角色授予 Kubernetes 服務帳戶身分。大多數 Google Cloud API 支援直接存取資源。不過,使用身分聯盟時,某些 API 方法可能會受到限制。如要查看這些限制的清單,請參閱「支援的產品和限制」。

或者,工作負載也可以使用服務帳戶模擬功能,將設定的 Kubernetes ServiceAccount 繫結至 IAM 服務帳戶,做為存取 Google CloudAPI 時的身分。

如要進一步瞭解 GKE 適用的工作負載身分聯盟,請參閱「Workload Identity Federation for GKE」。

受管理的工作負載身分

透過受管理的工作負載身分,您可以將經過嚴格驗證的身分繫結至 Compute Engine 和 GKE 工作負載。您可以使用受管理的工作負載身分,透過 mTLS 向其他工作負載驗證工作負載。

如要進一步瞭解受管理的工作負載身分,以及如何設定平台來使用這些身分,請參閱「受管理的工作負載身分總覽」。

設定外部工作負載

如果您在 Google Cloud以外的位置執行工作負載,可以使用下列方法為工作負載設定身分:

  • Workload Identity 聯盟
  • 服務帳戶金鑰

Workload Identity 聯盟

您可以在 Google Cloud 上的工作負載,或在 AWS、Azure、GitHub 和 GitLab 等平台執行的外部工作負載,使用 Workload Identity Federation。Google Cloud

透過 Workload Identity 聯盟,您可以使用外部身分識別提供者 (例如 AWS、AzureActive Directory) 的憑證產生短期憑證,工作負載可使用這些憑證暫時模擬服務帳戶。工作負載隨後就能以服務帳戶做為身分,存取 Google Cloud資源。

建議使用 Workload Identity 聯盟,為外部工作負載設定身分。

如要進一步瞭解 Workload Identity Federation,請參閱「Workload Identity Federation」。

服務帳戶金鑰

工作負載可透過服務帳戶金鑰,以服務帳戶身分進行驗證,然後使用服務帳戶的身分進行授權。

本機開發

如果您在本機環境中開發,可以設定工作負載,使用使用者憑證或服務帳戶進行驗證和授權。詳情請參閱驗證說明文件中的「本機開發環境」。

後續步驟