為了在 Google Cloud 應用程式中驗證使用者,Google 提供下列使用者驗證方法:
驗證服務 | 摘要 |
---|---|
Identity Platform (建議) | 使用密碼、電話號碼、Google、Facebook、Twitter 等熱門聯合識別資訊提供者,以及支援 SAML 或 OpenID Connect 通訊協定的任何供應商,驗證使用者身分。這項服務提供多重驗證、OIDC 和 SAML 單一登入支援、多用戶群架構、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 應用程式上方新增身分與存取權管理 (IAM) 驗證層,以提供驗證機制。在要求抵達應用程式資源之前,IAP 可讓您控管 App Engine 服務的存取權。因此,IAP 不適合用於防範同一個 Google Cloud 專案中的活動。 如果您想使用 Google 帳戶和 IAM 控管使用者存取權,建議採用這種方法。 |
Users API | 驗證使用 Google 和 Google Workspace 帳戶的使用者。您只能透過舊版服務套裝組合存取 App Engine 使用者服務。 |
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 驗證,請嘗試下列操作:
Firebase 網路教學課程著重在如何在網站上使用 Firebase,包括以 Google 做為識別資訊提供者進行使用者登入。
Firebase 快速入門導覽課程應用程式會透過聯合登入和使用者名稱/密碼登入等範例,說明如何跨平台整合 Firebase。這些示例說明如何透過 JavaScript SDK 使用 Firebase 驗證,以及在 iOS 和 Android 作業系統上使用 Firebase 驗證的方法。
Google Identity Services for Web
Google 網路身分識別服務是 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。只有具有正確 IAM 角色的實體,才能存取受 IAP 保護的服務或應用程式。當使用者嘗試存取 IAP 保護的資源時,IAP 會為您執行驗證及授權檢查。如要瞭解 IAP 如何保護應用程式資源,請參閱 IAP 總覽。
IAP 無法保護專案內的活動,例如一個 App Engine 服務存取同一個專案中的另一項服務。
如果您想使用 Google 使用者帳戶和 IAM 授權使用者存取權,這個解決方案最適合您。
如要瞭解如何為 App Engine 資源設定 IAP,請參閱 IAP 快速入門。
Users API
Users API 可讓 App Engine 應用程式執行下列工作:
- 偵測目前使用者是否已使用 Google 帳戶登入。
- 將使用者重新導向至適當的登入頁面以進行登入。
- 如果使用者尚未擁有 Google 帳戶,請要求他們建立新帳戶。
使用者登入應用程式後,應用程式便可存取該使用者的電子郵件地址,還可偵測目前的使用者是否為管理員,方便您實作應用程式的管理員專屬區域。
如果您要將現有應用程式從第一代執行階段升級至第二代執行階段,並且想繼續使用 Users API,這個解決方案就很實用。如果您希望日後能靈活地遷移至 Cloud Run 或其他應用程式代管平台,建議您改用更先進的使用者驗證解決方案。 Google Cloud
如要瞭解如何整合 Users API,請參閱 Users API 總覽。
其他驗證服務
Auth0:提供涵蓋各種識別資訊提供者和單一登入功能的驗證選項。