使用 Spring Cloud Gateway 和 API 入口網站的 Microsoft Entra ID 設定單一登錄
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:❌基本/標準 ✔️ Enterprise
本文說明如何使用 Microsoft Entra ID 作為 OpenID 識別提供者,為 Spring Cloud Gateway 或 API 入口網站設定單一登錄 (SSO)。
必要條件
- 已啟用 Spring Cloud Gateway 或 API 入口網站的企業方案實例。 如需詳細資訊,請參閱快速入門:使用 Enterprise 方案建置應用程式並將其部署至 Azure Spring 應用程式。
- 足以管理Microsoft Entra 應用程式的許可權。
若要啟用 Spring Cloud Gateway 或 API 入口網站的 SSO,您需要設定下列四個屬性:
SSO 屬性 | Microsoft Entra 設定 |
---|---|
clientId | 請參閱 註冊應用程式 |
clientSecret | 請參閱 建立客戶端密碼 |
範圍 (scope) | 請參閱 設定範圍 |
issuerUri | 請參閱 產生簽發者 URI |
您將在下列步驟中設定 Microsoft Entra ID 中的屬性。
指派 Spring Cloud 閘道或 API 入口網站的端點
首先,您必須遵循下列步驟,取得 Spring Cloud Gateway 和 API 入口網站的指派公用端點:
- 在 Azure 入口網站 中開啟您的企業方案服務實例。
- 在左側功能表中的 [VMware Tanzu 元件] 下,選取 [Spring Cloud Gateway] 或 [API 入口網站]。
- 選取 [指派端點] 旁的 [是]。
- 複製 URL 以用於本文的下一節。
建立Microsoft Entra 應用程式註冊
使用下列步驟註冊您的應用程式,以建立應用程式與 Microsoft 身分識別平台 之間的信任關係:
- 從 [ 首頁 ] 畫面中,從左側功能表中選取 [Microsoft項目標識符 ]。
- 選取 [管理] 底下的 [應用程式註冊],然後選取 [新增註冊]。
- 在 [名稱] 底下輸入應用程式的顯示名稱,然後選取帳戶類型以在 [支援帳戶類型] 下註冊。
- 在 [重新導向 URI] 中選取 [Web],然後在文本框中輸入上述區段的 URL。 重新導向 URI 是Microsoft Entra ID 重新導向用戶端並在驗證之後傳送安全性令牌的位置。
- 選取 [註冊 ] 以完成應用程式註冊。
註冊完成時,您會在 [應用程式註冊*] 頁面的 [概觀] 畫面上看到 [應用程式][用戶端] 標識符。
在應用程式註冊之後新增重新導向 URI
您也可以遵循下列步驟,在應用程式註冊之後新增重新導向 URI:
- 從應用程式概觀的左側功能表中的 [管理] 底下,選取 [驗證]。
- 選取 [Web],然後選取 [重新導向 URI] 底下的 [新增 URI]。
- 新增重新導向 URI,然後選取 [ 儲存]。
如需應用程式註冊的詳細資訊,請參閱快速入門:使用 Microsoft 身分識別平台 註冊應用程式。
新增用戶端密碼
應用程式會使用客戶端密碼在 SSO 工作流程中自行驗證。 您可以使用下列步驟來新增客戶端密碼:
- 從應用程式概觀的左側功能表中的 [管理] 底下,選取 [憑證與秘密]。
- 選取 [客戶端密碼],然後選取 [ 新增客戶端密碼]。
- 輸入客戶端密碼的描述,然後設定到期日。
- 選取 [新增]。
警告
請記得將客戶端密碼儲存在安全的地方。 離開此頁面之後,就無法擷取它。 當您以應用程式身分登入時,應該使用用戶端識別碼來提供客戶端密碼。
設定範圍
scope
SSO 的 屬性是 JWT 身分識別令牌中要包含的範圍清單。 它們通常稱為許可權。 身分識別平台支持數個 OpenID Connect 範圍,例如 openid
、 email
和 profile
。 如需詳細資訊,請參閱 Microsoft 身分識別平台 中範圍和許可權的OpenID Connect範圍一節。
設定簽發者 URI
簽發者 URI 是判斷提示為其簽發者標識碼的 URI。 例如,如果提供的issuer-uri是 https://example.com
,則會對 https://example.com/.well-known/openid-configuration
提出OpenID提供者組態要求。
Microsoft Entra 識別符的簽發者 URI 就像 <authentication-endpoint>/<Your-TenantID>/v2.0
。 將 取代 <authentication-endpoint>
為您雲端環境的驗證端點(例如 https://login.microsoftonline.com
,全域 Azure),並將 取代 <Your-TenantID>
為註冊應用程式的目錄(租使用者)標識符。
設定 SSO
設定Microsoft Entra 應用程式之後,您可以依照下列步驟設定 Spring Cloud Gateway 或 API 入口網站的 SSO 屬性:
- 在左側功能表中的 [VMware Tanzu 元件] 下,選取 [Spring Cloud Gateway 或 API 入口網站],然後選取 [設定]。
- 在
Scope
適當的欄位中輸入 、Client Id
、Client Secret
與Issuer URI
。 以逗號分隔多個範圍。 - 選取 [ 儲存 ] 以啟用 SSO 設定。
注意
設定 SSO 屬性之後,請記得藉由設定 ssoEnabled=true
來啟用 Spring Cloud Gateway 路由的 SSO。 如需詳細資訊,請參閱 路由設定。