與 Google Cloud API 和服務互動前,您必須證明自己的身分。這個證明身分的程序稱為驗證。
如要向 Google Cloud進行驗證,您必須提供憑證做為身分證明。舉例來說,如要使用某項服務,您可能需要使用密碼和一次性代碼等憑證進行驗證。
Google Cloud 會將通過驗證的使用者稱為「主體」。當您嘗試存取資源 (例如 Google Cloud 專案或儲存空間值區 Google Cloud) 時,系統會檢查主體對所要求資源的存取層級。這個程序稱為「授權」,由 Identity and Access Management (IAM) 系統處理。
這些概念同樣適用於代表您執行自動化工作的程式碼,也就是所謂的「工作負載」。工作負載必須提供憑證來證明身分,並以主體身分進行驗證,之後 Google Cloud 即可判斷工作負載對所要求資源的存取層級。
主體類型
您可以驗證不同類型的主體。您甚至可能在工作不同階段或不同開發環境中,使用不同主體類型。
主要主體類型和驗證所需的憑證包括:
-
使用者帳戶:這些是供使用者執行互動式工作的 Google 帳戶,例如臨時管理工作、服務的非程式輔助設定、測試、實驗和可觀測性。 Google Cloud
您會以使用者憑證 (例如密碼和一次性代碼) 驗證使用者帳戶。
-
服務帳戶:這些是專為 Google Cloud 工作負載設計的帳戶,可用於存取服務或資源。您通常不會直接以服務帳戶進行驗證,而是將服務帳戶附加至資源 (例如 Compute Engine VM),或使用服務帳戶模擬。
-
聯合主體:這些身分會參照外部識別資訊提供者中的使用者或服務帳戶。 Google Cloud支援兩種同盟主體,名稱相似:
-
員工身分聯盟:允許使用者透過外部識別資訊提供者管理的身分登入 Google Cloud 。如果貴機構已設定單一登入 (SSO),您可以使用這類身分驗證 Google Cloud。
如要使用員工身分聯盟,您的識別資訊提供者必須支援 OpenID Connect (OIDC) 或 SAML 2.0。
-
Workload Identity Federation:允許在 Google Cloud 外部執行的工作負載操作 Google Cloud 資源。
您可以搭配使用 Workload Identity Federation 與下列工作負載:使用 X.509 用戶端憑證驗證身分的工作負載;在 Amazon Web Services (AWS) 或 Azure 上執行的工作負載;在 地端部署 Active Directory 上執行的工作負載;部署服務 (例如 GitHub 和 GitLab);以及支援 OpenID Connect (OIDC) 或安全宣告標記語言 (SAML) V2.0 的任何識別資訊提供者。
-
如要進一步瞭解這些和其他支援的主體類型,請參閱 Google Cloud「主體類型」。
設定機構的驗證機制 Google Cloud
為 Google Cloud 機構設定驗證時,您可能需要將現有系統和工作流程整合至 Google Cloud:
如要使用現有的識別資訊提供者,請設定員工身分聯盟。
如果工作負載在 Google Cloud 外部執行,但需要存取Google Cloud 資源,您必須設定 Workload Identity Federation。
此外,建議您採取下列做法,確保環境安全無虞: Google Cloud
驗證人員和工作負載
向 Google Cloud 進行驗證的方式,取決於您使用的 API 和服務,以及與這些 API 和服務互動的方式。
驗證是否為真人
執行手動互動式工作時 (例如處理臨時管理工作、設定資源、變更設定、進行實驗及瀏覽記錄),您會使用使用者帳戶的憑證進行驗證。
控制台
如要在 Google Cloud 控制台中進行互動式工作,請使用使用者憑證登入網頁介面,進行驗證。
Google Cloud 控制台工作階段的憑證也適用於 Cloud Shell,您可以在其中存取 gcloud CLI。
gcloud
在本機裝置上安裝 gcloud CLI 後,您可以使用使用者憑證向 Google Cloud 進行驗證,方法是在終端機中執行下列指令:
gcloud auth login
完成驗證後,後續的 gcloud 指令會使用登入的主體提出要求。
如要使用員工身分聯盟憑證、Workload Identity Federation 憑證或服務帳戶金鑰進行驗證,請參閱「gcloud CLI 的驗證」。
驗證工作負載
無論您是在本機裝置、Google Cloud、地端部署環境或其他雲端中開發及執行程式碼,最彈性且可攜式的工作負載驗證方式,就是透過稱為應用程式預設憑證 (ADC) 的機制提供憑證。
實作 ADC 的程式庫 (例如Google Cloud 用戶端程式庫) 會檢查執行環境中的已知位置,尋找憑證。這表示如果您變更程式碼的執行位置,不需要變更程式碼本身,只需要變更該環境使用的憑證。
舉例來說,在本機開發時,您可以設定環境,讓 ADC 使用您的使用者憑證進行驗證。程式碼準備好用於正式環境後,您可以將程式碼部署到 Compute Engine VM 執行個體,並設定環境,改用短期服務帳戶憑證進行驗證。
在下列情況中,您無法使用 ADC 進行驗證:
驗證 gcloud CLI 時。
使用 API 金鑰時。API 金鑰只能用於特定 API。
如要瞭解如何為特定環境設定 ADC,請參閱「設定應用程式預設憑證」。
後續步驟
進一步瞭解不同的 Google Cloud驗證方法。
如要瞭解如何控管主體在 Google Cloud中的存取權,請參閱「授權和存取權控管」。