Edge UI 和 Edge 管理 API 會向 Edge 管理伺服器發出要求,而管理伺服器支援下列驗證類型:
- 基本驗證:登入 Edge 使用者介面,或傳遞使用者名稱和密碼,對 Edge 管理 API 發出要求。
- OAuth2:將 Edge Basic Auth 憑證換成 OAuth2 存取權杖和更新權杖。在 API 呼叫的不記名標頭中傳遞 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 支援的指示與外部驗證不同,差異如下:
- 本節新增單一登入支援
- 本節適用於 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 可透過通訊埠 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 支援下列驗證方法,可對 LDAP 相容伺服器進行驗證:
- 搜尋和繫結 (間接繫結)
- 簡單繫結 (直接繫結)
Apigee SSO 會嘗試擷取使用者的電子郵件地址,並使用該地址更新內部使用者記錄,以便在檔案中保留目前的電子郵件地址,因為 Edge 會將這個電子郵件地址用於授權。
Edge 使用者介面和 API 網址
啟用 SAML 或 LDAP 之前,您用來存取 Edge UI 和 Edge 管理 API 的網址不變。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 的連線會使用 HTTP,並透過主機節點上的通訊埠 9099 進行,該節點會代管 Apigee SSO 模組 apigee-sso。apigee-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 模組網址:
