本頁面說明可用來設定工作負載 Google Cloud 資源存取權的身分類型。
Google Cloud 為工作負載提供下列身分類型:
Workload Identity Federation 和 Workload Identity Federation for GKE 可讓工作負載使用透過外部識別資訊提供者 (IdP) 驗證的聯合身分,存取大多數 Google Cloud 服務。Google Cloud 將身分驗證為主體後,主體就能使用您授予的 IAM 角色存取資源。
Google Cloud 服務帳戶可做為正式環境中工作負載的身分。您不直接授予工作負載存取權,而是授予服務帳戶存取權,然後讓工作負載使用服務帳戶做為身分。
代管工作負載身分可讓您將經過嚴格驗證的身分,繫結至 Compute Engine 和 GKE 工作負載。
代理身分是 Google 代管的身分,適用於代理式工作負載。代理身分會經過認證,並與代理的生命週期連結。相較於使用服務帳戶,這種方法能更安全地管理代理對 Google Cloud資源的存取權。
工作負載可使用的身分類型和設定方式,取決於工作負載的執行位置。
在 Google Cloud設定工作負載
如果您在 Google Cloud上執行工作負載,可以使用下列方法設定工作負載的身分:
- 附加的服務帳戶
- Workload Identity Federation for GKE (僅適用於在 Google Kubernetes Engine 執行的工作負載)
- 代管工作負載身分 (僅適用於在 Compute Engine 和 GKE 上執行的工作負載)
- 服務帳戶金鑰
附加的服務帳戶
對於某些 Google Cloud 資源,您可以指定使用者管理的服務帳戶,做為資源的預設身分。這項程序稱為將服務帳戶「附加」至資源,或將服務帳戶與資源「建立關聯」。當資源上執行的程式碼存取 Google Cloud 服務和資源時,會使用附加至資源的服務帳戶做為身分。舉例來說,如果您將服務帳戶附加至 Compute Engine 執行個體,且執行個體上的應用程式使用用戶端程式庫呼叫 Google Cloud API,這些應用程式就會自動使用附加的服務帳戶進行驗證和授權。
在大多數情況下,您必須在建立資源時,將服務帳戶附加至資源。資源建立後,您就無法變更附加至資源的服務帳戶。Compute Engine 執行個體是這項規則的例外狀況,您可以視需要變更附加至執行個體的服務帳戶。
詳情請參閱「將服務帳戶附加至資源」。
Workload Identity Federation for GKE
對於在 GKE 上執行的工作負載,Workload Identity Federation for GKE 可讓您為叢集中的每個應用程式,將 IAM 角色授予不同的精細主體組合。透過 Workload Identity Federation for GKE,GKE 叢集中的 Kubernetes 服務帳戶可直接使用 Workload Identity Federation 存取 Google Cloud資源,或間接使用 IAM 服務帳戶模擬功能存取資源。
使用直接資源存取權,即可直接在 Google Cloud 服務的資源上,將 IAM 角色授予 Kubernetes 服務帳戶身分。大多數 Google Cloud API 都支援直接存取資源。不過,使用身分聯盟時,某些 API 方法可能有限制。如需這些限制的清單,請參閱「支援的產品和限制」。
或者,工作負載也可以使用服務帳戶模擬功能,將設定的 Kubernetes ServiceAccount 繫結至 IAM 服務帳戶,並在存取 Google CloudAPI 時做為身分。
如要進一步瞭解 Workload Identity Federation for GKE,請參閱「Workload Identity Federation for GKE」。
代管工作負載身分
有了代管工作負載身分,您就能將經過嚴格驗證的身分,繫結至 Compute Engine 和 GKE 工作負載。您可以使用代管工作負載身分,透過 mTLS 向其他工作負載驗證工作負載。
如要進一步瞭解代管的工作負載身分,請參閱「代管的工作負載身分總覽」。
代理身分
代理身分是 Google 代管的身分,適用於代理式工作負載。代理身分會經過認證,並與代理的生命週期連結,因此與使用服務帳戶相比,這種方式能更安全地管理代理對 Google Cloud 資源的存取權。
現有的 IAM 存取管理控制項支援代理身分,可實現強大的管理。
如要進一步瞭解代理身分及其使用方式,請參閱「搭配使用代理身分與 Vertex AI Agent Engine」。
設定外部工作負載
如果您在 Google Cloud以外執行工作負載,可以透過下列方法設定工作負載的身分:
- workload identity federation
- 服務帳戶金鑰
workload identity federation
您可以將 Workload Identity Federation 與Google Cloud 上的工作負載搭配使用,或與在 AWS、Azure、GitHub 和 GitLab 等平台上執行的外部工作負載搭配使用。
Workload Identity Federation 可讓您使用 AWS、Azure 和 Active Directory 等外部身分提供者的憑證,產生短期憑證,讓工作負載暫時模擬服務帳戶。工作負載就能以服務帳戶的身分存取 Google Cloud資源。
Workload Identity Federation 是為外部工作負載設定身分的首選方法。
如要進一步瞭解 Workload Identity Federation,請參閱「Workload Identity Federation」。
服務帳戶金鑰
工作負載可透過服務帳戶金鑰,以服務帳戶的身分進行驗證,然後使用服務帳戶的身分進行授權。
本機開發
如果您在本機環境中開發,可以設定工作負載,使用使用者憑證或服務帳戶進行驗證和授權。詳情請參閱驗證說明文件中的「本機開發環境」一節。
後續步驟
- 瞭解如何使用服務帳戶設定驗證機制。
- 瞭解如何設定本機開發環境的驗證機制。
- 瞭解如何授予服務帳戶資源存取權。