通知

Duet AI 現已更名為 Google Workspace 專用 Gemini。瞭解詳情

SAML 式單一登入 (SSO) 技術總覽

有了單一登入 (SSO) 服務,使用者就可以直接存取許多應用程式,不必分別為每個應用程式輸入使用者名稱和密碼。安全宣告標記語言 (SAML) 是一種 XML 標準,可讓安全的網域互相交換使用者的驗證與授權資料。

服務供應商和識別資訊提供者的角色

Google 提供 SAML 式單一登入 (SSO) 服務,可讓合作夥伴公司授權及驗證嘗試存取安全內容的代管使用者。Google 是以線上「服務供應商」的身分提供 Google 日曆和 Gmail 等服務;Google 合作夥伴則是以「識別資訊提供者」的身分管理使用者名稱、密碼等資訊。當使用者利用 Google 代管的網頁應用程式時,這些合作夥伴就會運用這些資訊協助識別、驗證及授權使用者。

您可以利用許多開放原始碼商用識別資訊提供者,在 Google 服務中實作單一登入。

電腦用戶端仍需登入

請注意,SSO 解決方案僅適用於網頁應用程式。您可以讓使用者透過電腦用戶端存取 Google 服務。舉例來說,如要使用 Outlook 透過 POP 存取 Gmail,您需要向使用者提供適用密碼,並使用 Admin SDK 的 Directory API 將這些密碼同步到內部使用者資料庫。同步處理密碼時,建議您瞭解如何使用管理控制台登入網址驗證使用者。

瞭解合作夥伴提供的 SAML 式 SSO 服務

下圖 1 呈現使用者透過合作夥伴提供的 SAML 式 SSO 服務,登入 Google 應用程式 (例如 Gmail) 的完整流程。後面的編號清單則依序列出圖片中每個步驟的詳細說明。

注意:開始這項程序前,合作夥伴必須向 Google 提供 SSO 服務網址和公開金鑰,讓 Google 驗證 SAML 回應。

圖 1:顯示使用 SAML 式 SSO 服務登入 Google 的程序。

這張圖包含以下步驟。

  1. 使用者嘗試存取代管的 Google 應用程式,例如 Gmail、Google 日曆或其他 Google 服務。
  2. Google 產生 SAML 驗證要求,這個要求會在編碼後嵌入合作夥伴的 SSO 服務網址。這個 SSO 網址也包含 RelayState 參數,其中含有使用者嘗試存取的 Google 應用程式經過編碼的網址。RelayState 參數是一種不易解讀的 ID,傳回時不會經過任何修改或檢查。
  3. Google 向使用者的瀏覽器傳送重新導向網址。這個重新導向網址包含經過編碼的 SAML 驗證要求,後者也會提交至合作夥伴的 SSO 服務。
  4. 瀏覽器重新導向至 SSO 網址。
  5. 合作夥伴對 SAML 要求進行解碼,並擷取 Google 宣告客戶服務 (ACS) 網址和使用者的到達網頁網址 (RelayState 參數)。
  6. 合作夥伴驗證使用者。進行驗證時,合作夥伴可以要求使用者提供有效的登入憑證,或檢查有效的工作階段 Cookie。
  7. 合作夥伴產生 SAML 回應,內含已驗證使用者的使用者名稱。根據 SAML v2.0 規格,這個回應會加上數位簽章,包含合作夥伴的公開與私密 DSA/RSA 金鑰。
  8. 合作夥伴對 SAML 回應和 RelayState 參數進行編碼,然後將這些資訊傳回使用者的瀏覽器。合作夥伴會提供可讓瀏覽器將這些資訊轉送至 Google ACS 的機制。舉例來說,合作夥伴可將 SAML 回應和到達網頁網址嵌入表單,然後讓使用者只要點選按鈕,就能將這個表單提交給 Google;或是在網頁中加入能將這個表單提交給 Google 的 JavaScript。
  9. 瀏覽器將回應傳送至 ACS 網址。Google 的 ACS 使用合作夥伴的公開金鑰驗證 SAML 回應。如果回應通過驗證,ACS 會將使用者重新導向至到達網頁網址。
  10. 使用者已登入 Google 應用程式。

相關主題

SAML v2.0 規格

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
主選單
17177588649802105553
true
搜尋說明中心
true
true
true
true
true
73010
false
false