與 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 聯盟: 讓在外部執行的工作負載在 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 聯盟。
此外,建議您採取下列做法,確保環境安全無虞: 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中的存取權,請參閱「授權和存取權控管」。