驗證使用者

如要在 Google Cloud 應用程式中驗證使用者,Google 提供下列使用者驗證方法:

驗證服務 摘要
Identity Platform (建議) 使用密碼、電話號碼、熱門的聯合識別資訊提供者 (例如 Google、Facebook、Twitter) 驗證使用者,以及支援 SAML 或 OpenID Connect 通訊協定的任何提供者。提供多重驗證、OIDC 和 SAML SSO 支援、多用戶群架構、99.95% 服務水準協議等企業功能。

建議您在新專案中採用這個方法,以便使用 Identity Platform 的功能,以及 Firebase 驗證的舊版功能
Firebase 驗證 使用不同的驗證選項 (包括 Google、Facebook 和 Twitter) 驗證使用者。Firebase 驗證可支援最多使用者,同時使用最少量的程式碼。

建議採用這個方法,以最少的步驟部署解決方案。
Google Identity Services for Web 使用 Gmail 和 Google Workspace 的 Google 使用者帳戶驗證使用者。

如果只是要支援 Google 帳戶,或是在現有登入系統中支援 Google 帳戶,建議採用這個方法。
OAuth 2.0 和 OpenID Connect 提供自選提供者 (包括 Google) 的聯合身分識別選項。

如果您想自行建構使用者驗證通訊協定,建議採用這個方法。
Identity-Aware Proxy (IAP) 在 App Engine 應用程式上方新增 Identity and Access Management (IAM) 驗證層,提供驗證功能。IAP 可讓您控管對 App Engine 服務的存取權,要求傳送到應用程式資源前,會先經過 IAP 驗證。因此,IAP 不適合防範同一專案內的活動。 Google Cloud

如果您想使用 Google 帳戶和 IAM 控制使用者存取權,建議採用這個方法。
Users API 驗證使用 Google 和 Google Workspace 帳戶的使用者。App Engine Users 服務只能透過舊版套裝組合服務存取。

Identity Platform

Identity Platform 是客戶身分與存取權管理 (CIAM) 平台,可讓機構自訂應用程式中使用者註冊和登入的身分與驗證程序。Identity Platform 支援多種驗證方法 (SAML、OIDC、電子郵件/密碼、社交媒體、手機和其他自訂驗證方法),能夠為各種身分解決方案提供靈活的整合選項。Identity Platform 奠基於Google Cloud的全球規模、效能、網路與安全性,同時提供企業級支援服務與服務水準協議,能滿足幾乎所有應用程式或服務的需求。

對於大多數使用者而言,這項解決方案是最佳選擇,可根據可靠的企業級功能和服務水準協議,提供彈性的驗證選項。

Identity Platform 提供專屬的使用者身分系統。如果您已為網域使用 Google Workspace,並想根據該登入資訊驗證使用者,請使用 Google Identity Services for Web

如要瞭解如何整合 Identity Platform 與 App Engine,請參閱在 App Engine 中登入使用者的操作指南。

Firebase 驗證

Firebase 驗證提供可自訂的置入式身分識別和驗證服務,能用於使用者的註冊及登入程序。與 Identity Platform 類似,Firebase Authentication 支援多種驗證方法 (SAML、OIDC、電子郵件/密碼、社交媒體、手機和其他自訂驗證方法),能夠為各種身分解決方案提供靈活的整合選項。

Firebase 驗證與 Identity Platform 的不同之處在於,前者缺少某些企業功能。詳情請參閱「Identity Platform 與 Firebase 驗證的差異」。

如果您想以最輕量的方式為 App Engine 應用程式設定使用者驗證,這個解決方案就是最佳選擇。對許多使用者來說,Firebase 驗證是實作或測試驗證最快速的方法。

如要進一步瞭解 Firebase 驗證,請參閱下列資源:

網頁適用的 Google Identity 服務

Google Identity Services for Web 是 Google 的登入用戶端程式庫,以 OAuth 2.0 和 OpenID Connect 通訊協定為基礎。只要在網站或應用程式中提供「使用 Google 帳戶登入」按鈕,使用者就能輕鬆快速登入。

如果您想根據使用者的 Google 帳戶驗證身分,或是使用網域的 Google 管理控制台,這個解決方案最適合您。

OAuth 2.0 和 OpenID Connect

OpenID Connect 是以 OAuth 2.0 通訊協定為基礎的識別層級。Google 提供的 OAuth 2.0 實作方式符合 OpenID Connect 規格,並已通過 OpenID 認證。此外,還有其他供應商提供這類服務。

如果您想完全自訂及控管驗證實作方式,這個解決方案最適合您。

詳情請參閱 OpenID Connect

Identity-Aware Proxy (IAP)

與在應用程式中實作驗證的其他驗證選項不同,IAP 會在資源前方新增 IAM 驗證和授權層,藉此保護應用程式安全。這個層級會先驗證外部傳入的要求,應用程式才能收到要求。未獲授權存取您應用程式的使用者,無法存取您的 App Engine 應用程式。

您可以為整個應用程式啟用 IAP,也可以為應用程式的特定服務或版本啟用 IAP。只有具備正確 IAM 角色主體,才能存取受 IAP 保護的服務或應用程式。使用者嘗試存取 IAP 保護的資源時,IAP 會為您執行驗證及授權檢查。請參閱 IAP 總覽,瞭解 IAP 如何保護應用程式資源。

IAP 無法保護專案內的活動,例如一個 App Engine 服務存取同一專案中的另一個服務。

如果您想使用 Google 使用者帳戶和 IAM 授權使用者存取權,這個解決方案最適合您。

如要瞭解如何為 App Engine 資源設定 IAP,請參閱 IAP 快速入門導覽課程

Users API

App Engine 應用程式可透過 Users API 執行下列工作:

  • 偵測目前使用者是否已透過 Google 帳戶登入。
  • 將使用者重新導向至適當的登入頁面以進行登入。
  • 如果使用者沒有 Google 帳戶,請要求他們建立新帳戶。

使用者登入應用程式後,應用程式便可存取該使用者的電子郵件地址,還可偵測目前的使用者是否為管理員,方便您實作應用程式的管理員專屬區域。

如果您要將現有應用程式從第一代執行階段升級至第二代執行階段,並想繼續使用 Users API,這個解決方案就非常適合。如果您希望日後能彈性遷移至 Cloud Run 或其他 Google Cloud 應用程式代管平台,建議改用更現代的使用者驗證解決方案。

如要瞭解如何整合 Users API,請參閱「Users API 總覽」。

其他驗證服務

Auth0 提供涵蓋各種識別資訊提供者和單一登入功能的驗證選項。