外部 IDP 驗證 (新 Edge UI) 總覽

Edge UI 和 Edge 管理 API 會向 Edge 管理伺服器提出要求,而管理伺服器支援下列驗證類型:

  • 基本驗證:傳遞使用者名稱和密碼,登入 Edge UI 或向 Edge 管理 API 發出要求。
  • OAuth2:將 Edge Basic Auth 憑證換成 OAuth2 存取權杖和更新權杖。在 API 呼叫的 Bearer 標頭中傳遞 OAuth2 存取權杖,即可呼叫 Edge 管理 API。

Edge 支援使用下列外部識別資訊提供者 (IDP) 進行驗證:

  • 安全宣告標記語言 (SAML) 2.0:從 SAML 識別資訊提供者傳回的 SAML 聲明產生 OAuth 存取權。
  • 輕量型目錄存取通訊協定 (LDAP):使用 LDAP 的搜尋和繫結或簡單繫結驗證方法,產生 OAuth 存取權杖。

SAML 和 LDAP IDP 都支援單一登入 (SSO) 環境。搭配 Edge 使用外部 IDP,除了您提供的任何其他服務 (也支援外部 IDP) 之外,還能支援 Edge UI 和 API 的單一登入。

本節中啟用外部 IDP 支援的指示與外部驗證不同,差異如下:

  • 本節新增 SSO 支援
  • 本節適用於 Edge UI 使用者 (而非傳統 UI)
  • 這個專區僅支援 4.19.06 以上版本

關於 Apigee SSO

如要在 Edge 支援 SAML 或 LDAP,請安裝 Apigee SSO 模組 apigee-sso。 下圖顯示 Edge for Private Cloud 安裝中的 Apigee SSO:

Apigee SSO 的通訊埠用量

您可以在與 Edge UI 和管理伺服器相同的節點上安裝 Apigee SSO 模組,也可以在自己的節點上安裝。確認 Apigee SSO 可透過通訊埠 8080 存取管理伺服器。

Apigee SSO 節點必須開啟 9099 連接埠,才能支援從瀏覽器、外部 SAML 或 LDAP IDP,以及管理伺服器和 Edge UI 存取 Apigee SSO。設定 Apigee SSO 時,您可以指定外部連線使用 HTTP 或加密的 HTTPS 通訊協定。

Apigee SSO 會使用 Postgres 節點上通訊埠 5432 可存取的 Postgres 資料庫。通常您可以使用與 Edge 一起安裝的 Postgres 伺服器,可以是獨立的 Postgres 伺服器,也可以是設定為主要/待命模式的兩部 Postgres 伺服器。如果 Postgres 伺服器負載過高,您也可以選擇建立專供 Apigee SSO 使用的 Postgres 節點。

Edge for Private Cloud 新增 OAuth2 支援

如上所述,Edge 的 SAML 實作方式是依據 OAuth2 存取權杖。因此,Edge for Private Cloud 已新增 OAuth2 支援。詳情請參閱「OAuth 2.0 簡介」。

關於 SAML

SAML 驗證有幾項優點。使用 SAML 可讓您:

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

啟用 SAML 後,存取 Edge UI 和 Edge 管理 API 時,會使用 OAuth2 存取權杖。 這些權杖是由 Apigee SSO 模組產生,該模組會接受 IDP 傳回的 SAML 判斷。

從 SAML 判斷提示產生後,OAuth 權杖的有效時間為 30 分鐘,重新整理權杖的有效時間則為 24 小時。您的開發環境可能支援常見開發工作的自動化,例如測試自動化或持續整合/持續部署 (CI/CD),這些工作需要較長效期的權杖。如要瞭解如何為自動化工作建立特殊權杖,請參閱「搭配自動化工作使用 SAML」。

關於 LDAP

輕量型目錄存取通訊協定 (LDAP) 是一種開放式業界標準應用程式通訊協定,用於存取及維護分散式目錄資訊服務。目錄服務可提供任何有組織的記錄集,通常具有階層式結構,例如公司電子郵件目錄。

Apigee SSO 內的 LDAP 驗證會使用 Spring Security LDAP 模組。因此,Apigee SSO LDAP 支援的驗證方法和設定選項,與 Spring Security LDAP 中的方法和選項直接相關。

適用於 Private Cloud 的 Edge 支援下列驗證方法,可對 LDAP 相容伺服器進行驗證:

  • 搜尋和繫結 (間接繫結)
  • 簡單繫結 (直接繫結)

Apigee SSO 會嘗試擷取使用者的電子郵件地址,並更新內部使用者記錄,確保 Edge 授權時使用的是最新電子郵件地址。

Edge UI 和 API 網址

您用來存取 Edge UI 和 Edge 管理 API 的網址,與啟用 SAML 或 LDAP 前的網址相同。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 管理 API:

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

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

在 Apigee SSO 上設定 TLS

根據預設,與 Apigee SSO 的連線會使用節點上通訊埠 9099 的 HTTP,該節點會代管 Apigee SSO 模組 apigee-ssoapigee-sso 內建 Tomcat 執行個體,可處理 HTTP 和 HTTPS 要求。

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

  • 預設:預設設定支援通訊埠 9099 上的 HTTP 要求。
  • SSL_TERMINATION:在您選擇的通訊埠上啟用 TLS 存取權,以連線至 Apigee SSO。您必須為這個模式指定 TLS 金鑰和憑證。
  • SSL_PROXY:以 Proxy 模式設定 Apigee SSO,也就是在 apigee-sso 前方安裝負載平衡器,並在負載平衡器上終止 TLS。您可以指定 apigee-sso 上用於負載平衡器要求的通訊埠。

為入口網站啟用外部 IDP 支援

為 Edge 啟用外部 IDP 支援後,您可以選擇為 Apigee 開發人員服務入口網站 (簡稱「入口網站」) 啟用這項支援。 入口網站向 Edge 發出要求時,支援 SAML 和 LDAP 驗證。請注意,這與開發人員登入入口網站的 SAML 和 LDAP 驗證不同。您需要另外設定開發人員登入的外部 IDP 驗證。詳情請參閱「設定入口網站以使用 IDP」。

設定入口網站時,您必須指定使用 Edge 安裝的 Apigee SSO 模組網址:

權杖要求/回應流程