驗證和授權用途

本頁面列出一些常見的驗證和授權用途,並提供相關連結,讓您進一步瞭解如何實作每個用途。

如要瞭解 Google 的驗證功能,請參閱「Google 的驗證功能」。

向 Google API 驗證

Google API 要求每項要求都必須提供有效的存取權杖或 API 金鑰。您提供這些必要憑證的方式,取決於程式碼執行的位置,以及 API 接受的憑證類型。

使用用戶端程式庫和應用程式預設憑證

建議您使用用戶端程式庫和應用程式預設憑證 (ADC),以便使用 Google API。Application Default Credentials (ADC) 是驗證程式庫用來自動依據應用程式環境尋找憑證的策略。驗證程式庫會將這些憑證提供給 Cloud 用戶端程式庫和 Google API 用戶端程式庫。使用 ADC 時,程式碼可以在開發或實際工作環境中執行,無須變更應用程式驗證 Google Cloud 服務和 API 的方式。

設定 ADC的方式取決於程式碼的執行位置。ADC 支援以服務帳戶進行驗證以使用者身分進行驗證

從 Google Kubernetes Engine (GKE) 進行驗證

您可以使用 Workload Identity Federation for GKE,讓在 GKE 上執行的工作負載安全地存取 Google API。GKE 適用的工作負載身分聯盟可讓 GKE 叢集中的 GKE 服務帳戶擔任 Identity and Access Management (IAM) 服務帳戶。

透過 Knative serving 進行驗證

您可以使用 Workload Identity Federation for GKE 驗證 Knative 服務,以便存取 Google API。

使用可接受 API 金鑰的 API

如果 API 支援 API 金鑰,您可以透過要求提供 API 金鑰,而非存取權憑證。API 金鑰會將要求與 Google Cloud 專案建立關聯,以便處理帳單和配額。

如要判斷 API 是否支援 API 金鑰,請參閱該 API 的說明文件。

使用自行簽署的 JSON Web Token (JWT)

部分 Google API 支援自行簽署的 JSON Web Token (JWT),而非存取權杖。使用自行簽署的 JWT 可避免向 Google 授權伺服器發出網路要求。這種方法需要自行建立已簽署的 JWT。如要進一步瞭解權杖,請參閱「權杖類型」。

使用驗證程式庫和套件

如果您的環境中無法使用 ADC,且 Cloud 用戶端程式庫或 Google API 用戶端程式庫提供的 OAuth 實作項目無法使用,您可以使用驗證程式庫和套件。

您可以使用下列驗證程式庫和套件:

您也可以使用 Google 的 OAuth 2.0 端點實作 OAuth 2.0 流程。這種做法需要更詳細地瞭解 OAuth 2.0OpenID Connect 的運作方式。詳情請參閱「使用 OAuth 2.0 處理網路伺服器應用程式」。

Google Cloud 服務專屬用途

部分 Google Cloud 服務支援特定服務的驗證流程。

使用已簽署的網址,提供對 Cloud Storage 資源的限時存取權

已簽署的網址可提供對特定 Cloud Storage 資源的限時存取權

向 GKE Enterprise 叢集進行驗證

您可以使用 Google Cloud身分或第三方識別資訊提供者,向 GKE Enterprise 叢集進行驗證:

設定使用 API Gateway 或 Cloud Endpoints 部署的 API 以進行驗證

API Gateway 和 Cloud Endpoints 支援服務對服務驗證和使用者驗證,可搭配 Firebase、Google 簽署的 ID 權杖、Okta、Auth0 和 JWT 使用。

詳情請參閱產品說明文件:

在 Cloud Run 或 Cloud Run 函式中代管的應用程式驗證

在 Cloud Run 和 Cloud Run 函式上代管的應用程式需要 OpenID Connect (OIDC) 權杖或ID 權杖進行驗證。

如需詳細資訊,請參閱下列託管服務的產品說明文件。如要瞭解取得 ID 權杖的其他方式,請參閱「取得 ID 權杖」。如要進一步瞭解 ID 權杖 (包括驗證 ID 權杖),請參閱「ID 權杖」。

Cloud Run

設定 Cloud Run 服務的方式有很多種,具體取決於服務的叫用方式。您可能還需要透過 Cloud Run 服務向其他服務進行驗證,這需要 OIDC ID 權杖。

如要從網路或行動應用程式驗證服務使用者的身分,請使用 Identity Platform 或 Firebase 驗證。您也可以使用 Identity-Aware Proxy (IAP) 驗證內部使用者

Cloud Run 函式

叫用函式時,您必須驗證叫用程序。您可以使用使用者憑證或 OIDC ID 權杖。

驗證應用程式使用者

您可以透過多種方式驗證應用程式的使用者,具體取決於應用程式環境的其他部分。請參閱下列說明,瞭解哪個選項最適合您的應用程式。

驗證服務 說明
Google Identity 服務

Google Identity Services 包括「使用 Google 帳戶登入」按鈕、Google 的使用者登入按鈕,以及 Identity Services API 和 SDK。Google 身分識別服務是以 OAuth 2.0 和 OpenID Connect (OIDC) 通訊協定為基礎。

如果您要建立行動應用程式,並且想使用 Gmail 和 Google Workspace 帳戶驗證使用者,使用「使用 Google 帳戶登入」功能會是不錯的選擇。「使用 Google 帳戶登入」功能也支援使用 Google 帳戶搭配現有的登入系統。

更多資訊

「使用 Google 帳戶登入」可讓您登入 Gmail 和 Google Workspace 帳戶,並支援一次性密碼 (OTP)。使用 Google 帳戶登入功能適用於行動應用程式,可讓使用者登入 Google 帳戶或現有登入系統中的 Google 帳戶。

「使用 Google 帳戶登入」適用於 iOSAndroid網頁應用程式

Firebase 驗證

Firebase 驗證提供驗證服務和程式庫,可針對多種使用者帳戶類型驗證應用程式使用者。

如果您想接受來自多個平台的使用者登入,Firebase 驗證功能可能會是個不錯的選擇。

更多資訊

Firebase 驗證可為多種使用者帳戶類型提供驗證支援。Firebase 驗證支援密碼驗證,以及 Google、Facebook、Twitter 和其他平台的聯合登入機制。

Identity Platform 和 Firebase 驗證都以 Google 身分識別服務為基礎。Firebase 驗證適用於消費者應用程式。Identity Platform 非常適合想自行提供身分識別服務的使用者,或是需要 Identity Platform 提供的企業級功能。如要進一步瞭解這兩項產品的差異,請參閱「 Identity Platform 與 Firebase 驗證之間的差異」。

請參閱下列連結,瞭解詳情:

Identity Platform

Identity Platform 是客戶身分與存取權管理 (CIAM) 平台,可協助機構在應用程式中加入企業級身分與存取權管理功能。

如果您要建立應用程式,以便與 Google 身分識別資訊提供者 (例如 Google Workspace) 或您自己的身分和存取權管理服務搭配使用,Identity Platform 可能會是理想的選擇。

更多資訊

Identity Platform 提供可自訂的置入式身分和驗證服務,能用於使用者的註冊及登入程序。Identity Platform 支援多種驗證方法:SAML、OIDC、電子郵件/密碼、社交媒體、手機和其他自訂選項。

Identity Platform 和 Firebase 驗證都以 Google 身分識別服務為基礎。Firebase 驗證適用於消費者應用程式。Identity Platform 非常適合想自行提供身分識別服務的使用者,或是需要 Identity Platform 提供的企業級功能。如要進一步瞭解這兩項產品的差異,請參閱「 Identity Platform 與 Firebase 驗證之間的差異」。

OAuth 2.0 和 OpenID Connect

OpenID Connect 可讓您處理及使用驗證代碼,且提供最多自訂空間。

如果您想盡可能控管 OAuth 2.0 實作項目,且對實作 OAuth 2.0 流程感到自在,請考慮使用這個選項。

更多資訊

Google 的 OAuth 2.0 實作項目符合 OpenID Connect 規格,並且已通過 OpenID 認證。OpenID Connect 是以 OAuth 2.0 通訊協定為基礎的識別層級。應用程式可以使用 OpenID Connect 驗證 ID 權杖,並擷取使用者個人資料資訊

OAuth 2.0 可用於實作對 Identity-Aware Proxy 保護資源的程式輔助驗證。

Identity-Aware Proxy (IAP)

您可以透過 IAP 在要求抵達應用程式資源之前,控管應用程式的存取權。

與這份表格中在應用程式中實作的其他驗證服務不同,IAP 會在您使用應用程式前執行驗證。

更多資訊

透過 IAP,您可以為應用程式建立中央授權層,並使用已簽署的標頭保護應用程式。只有具備正確 IAM 角色主體,才能存取受 IAP 保護的應用程式。當使用者嘗試存取 IAP 保護的資源時,IAP 會為您執行驗證和授權檢查。IAP 無法保護專案內的活動,例如同一個專案中的其他服務。

針對 Google 身分,IAP 會使用 ID 權杖。詳情請參閱「程式輔助驗證」。

如要瞭解 IAP 如何保護應用程式資源,請參閱 IAP 總覽

以下是針對 IAP 提供的特定語言教學課程:

App Engine Users API 如果應用程式是在 App Engine 標準環境中執行,則可使用 Users API 為部分語言提供使用者驗證。
授予使用者資源的存取權 如果應用程式要存取使用者擁有的資源,就必須取得使用者的存取權。此用途有時稱為「三方 OAuth」或「3LO」,因為這類用途涉及三個實體:應用程式、授權伺服器和使用者。

Google Cloud 和 Google Workspace 的驗證和授權選項

Google Cloud Google Workspace 提供多種選項,可用於設定存取權、強化帳戶安全性,以及管理帳戶。

授予外部工作負載的 Google Cloud 資源存取權

Workload Identity Federation 可讓您授予 on-premises 或多雲端工作負載存取 Google Cloud資源的權限。過去,這個用途需要使用服務帳戶金鑰,但 Workload Identity 聯盟可避免使用服務帳戶金鑰的維護和安全負擔。Workload Identity Federation 支援 與 OIDC 或 SAML 2.0 相容的識別資訊提供者

設定識別資訊提供者

您可以使用 Cloud Identity 或 Google Workspace,將 Google 做為身分識別資訊提供者。您也可以將 Cloud Identity 或 Google Workspace 帳戶與外部身分識別資訊提供者建立聯盟。這種方法會使用 SAML,讓員工可以使用現有身分和憑證登入 Google 服務。

設定雙重驗證

要求使用雙重驗證功能是最佳做法,可防止不肖人士取得帳戶憑證後存取帳戶。使用雙重驗證時,使用者必須提供第二項資訊或身分證件,系統才能驗證使用者。Google 提供多種支援 FIDO (Fast IDentity Online) 標準的解決方案。

Identity Platform 支援網頁iOSAndroid 應用程式的雙重驗證功能。

Google Identity Services 支援 FIDO (Fast IDentity Online) 驗證

Google 支援各種雙重驗證硬體解決方案,例如 Titan 安全金鑰

設定以憑證為依據的存取權

憑證式存取權是 Chrome Enterprise Premium 零信任解決方案的一部分,只允許已驗證的使用者存取受信任裝置,並透過 X.509 憑證識別裝置。以憑證為基礎的存取權有時也稱為雙向傳輸層安全標準 (mTLS)。

一般帳戶和驗證資訊

取得 Google 帳戶存取協助

如需 Google 帳戶存取或管理相關說明,請參閱 Google 帳戶支援頁面

處理遭盜用的憑證

如果您認為自己的憑證遭到盜用,您或管理員可以採取一些步驟來減輕這項情況。詳情請參閱「處理遭到入侵的 Google Cloud 憑證」。

取得憑證授權單位問題的協助

如果您看到與憑證或憑證授權單位 (CA) 相關的問題 (包括根 CA),請參閱 Google Trust Services 常見問題,進一步瞭解相關資訊。