在 Edge 上支援私有雲的 SAML

私有雲 v4.19.01 的邊緣

Edge UI 和 Edge Management API 會向 Edge Management Server 發出要求來進行運作,其中 Management Server 支援下列類型的驗證方式:

  • 基本驗證:透過傳送使用者名稱和密碼登入 Edge UI 或向 Edge Management API 提出要求。
  • OAuth2 為 OAuth2 存取權杖交換 Edge 基本驗證憑證並更新權杖。如要呼叫 Edge Management API,請在 API 呼叫的不記頭標頭中傳遞 OAuth2 存取權杖。

Edge 也支援安全宣告標記語言 (SAML) 2.0 做為驗證機制。啟用 SAML 後,Edge UI 和 Edge Management API 的存取權仍會使用 OAuth2 存取權杖。不過,您現在可以透過 SAML 識別資訊提供者傳回的 SAML 宣告產生這些權杖。

SAML 支援單一登入 (SSO) 環境。將 SAML 與 Edge 搭配使用,除了您提供的任何其他服務以外,您還能透過 Edge 支援 Edge UI 和 API 的單一登入 (SSO) 服務。

新增對 OAuth2 的支援至 Private Cloud 適用的 Edge Cloud

如上所述,SAML 的 Edge 實作必須使用 OAuth2 存取權杖。因此,Edge for Private Cloud 已支援 OAuth2。詳情請參閱 OAuth 2.0 簡介

SAML 的優點

SAML 驗證提供許多優點,使用 SAML 時,您可以:

  • 完全掌控使用者。如果使用者離開貴機構並集中取消佈建,系統會自動拒絕他們存取 Edge。
  • 控管使用者驗證 Edge 存取權的方式。您可以為不同的 Edge 機構選擇不同的驗證類型。
  • 控管驗證政策。您的 SAML 供應商可能支援更符合企業標準的驗證政策。
  • 您可以監控 Edge 部署作業的登入、登出、失敗的登入嘗試和高風險活動。

搭配 Edge 使用 SAML

如要支援 Edge on Edge,請安裝 Edge SSO 模組 apigee-sso。下圖顯示了 Edge for Private Cloud 安裝中的 Edge SSO:

您可以將 Edge SSO 模組安裝在 Edge UI 和管理伺服器所在的節點上,也可以安裝在本身的節點上。請確認 Edge SSO 可以透過通訊埠 8080 存取管理伺服器。

您必須在 Edge SSO 節點上開啟通訊埠 9099,才能支援透過瀏覽器、外部 SAML IDP 以及 Management Server 和 Edge UI 存取 Edge SSO。在設定 Edge SSO 時,您可以指定外部連線使用 HTTP 或加密的 HTTPS 通訊協定。

Edge SSO 會使用 Postgres 節點上通訊埠 5432 存取的 Postgres 資料庫。一般而言,您可以使用與 Edge 安裝的 Postgres 伺服器相同,無論是獨立的 Postgres 伺服器,還是在主要/待命模式下設定的兩個 Postgres 伺服器。如果 Postgres 伺服器的負載量偏高,您也可以選擇為 Edge SSO 建立獨立的 Postgres 節點。

啟用 SAML 後,邊緣 UI 和 Edge Management API 的存取權就會使用 OAuth2 存取權杖。 這些權杖是由 Edge SSO 模組產生,該模組會接受 IdP 傳回的 SAML 宣告。

透過 SAML 宣告產生後,OAuth 權杖的有效期限為 30 分鐘,更新權杖的有效期限為 24 小時。您的開發環境可能支援自動化處理工作,例如要求較長權杖的常見開發工作,例如測試自動化或持續整合/持續部署 (CI/CD)。如要瞭解如何為自動化工作建立特殊符記,請參閱「將 SAML 搭配自動化工作使用」一文。

Edge UI 和 API 網址

您用來存取 Edge UI 和 Edge Management API 的網址,與您啟用 SAML 前使用的網址相同。針對 Edge UI:

http://edge_ui_IP_DNS:9000
https://edge_ui_IP_DNS:9000

其中 edge_ui_IP_DNS 是託管 Edge UI 機器的 IP 位址或 DNS 名稱。在設定 Edge UI 的過程中,您可以指定連線使用 HTTP 或加密的 HTTPS 通訊協定。

針對 Edge Management API:

http://ms_IP_DNS:8080/v1
https://ms_IP_DNS:8080/v1

其中 ms_IP_DNS 是管理伺服器的 IP 位址或 DNS 名稱。在設定 API 時,您可以指定連線使用 HTTP 或加密的 HTTPS 通訊協定。

設定 Edge 的 TLS 服務

根據預設,邊緣單一登入 (SSO) 連線會在代管 apigee-sso 的節點 (Edge SSO 模組) 上使用 HTTP over 通訊埠 9099。內建於 apigee-sso 中,是處理 HTTP 和 HTTPS 要求的 Tomcat 執行個體。

Edge SSO 和 Tomcat 支援三種連線模式:

  • 預設 - 預設設定支援通訊埠 9099 的 HTTP 要求。
  • SSL_TERMINATION - 啟用所選通訊埠的邊緣單一登入 (SSO) 存取權。您必須為這個模式指定 TLS 金鑰和憑證。
  • SSL_PROXY:在 Proxy 模式下設定 Edge SSO,代表您在 apigee-sso 前方安裝負載平衡器,並在負載平衡器上終止 TLS。您可以針對來自負載平衡器的要求指定 apigee-sso 使用的通訊埠。

啟用入口網站的 SAML 支援

啟用 Edge 的 SAML 支援後,您可以選擇為 Apigee Developer Services 入口網站 (或直接為入口網站) 啟用 SAML。 向 Edge 提出要求時,入口網站支援 SAML 驗證。請注意,這與用於開發人員登入入口網站的 SAML 驗證不同。您必須分別為開發人員登入設定 SAML 驗證。詳情請參閱設定入口網站以使用 SAML 與 Edge 進行通訊

在設定入口網站的過程中,您必須指定透過 Edge 安裝的 Edge SSO 模組網址: