Edge UI 和 Edge Management API 的運作方式是向 Edge Management Server 提出要求,而 Management Server 支援下列驗證類型:
- 基本驗證:登入 Edge UI,或傳送使用者名稱和密碼,向 Edge Management API 發出要求。
- OAuth2:將 Edge 基本驗證憑證換成 OAuth2 存取權杖和更新權杖。在 API 呼叫的 Bearer 標頭中傳遞 OAuth2 存取權杖,呼叫 Edge Management API。
Edge 支援使用下列外部識別資訊提供者 (IDP) 進行驗證:
- 安全宣告標記語言 (SAML) 2.0:從 SAML 識別資訊提供者傳回的 SAML 宣告產生 OAuth 存取權。
- 輕量型目錄存取通訊協定 (LDAP):使用 LDAP 的搜尋和繫結或簡易繫結驗證方法,產生 OAuth 存取權杖。
SAML 和 LDAP IDP 都支援單一登入 (SSO) 環境。在 Edge 中使用外部 IDP,即可為 Edge UI 和 API,以及您提供且支援外部 IDP 的任何其他服務支援單一登入 (SSO)。
本節說明如何啟用外部 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 可透過通訊埠 8080 存取管理伺服器。
Apigee SSO 節點必須開啟通訊埠 9099,才能支援從瀏覽器、外部 SAML 或 LDAP IDP,以及管理伺服器和 Edge UI 存取 Apigee SSO。設定 Apigee SSO 時,您可以指定外部連線使用 HTTP 或加密的 HTTPS 通訊協定。
Apigee SSO 使用的 Postgres 資料庫,可透過 Postgres 節點上的通訊埠 5432 存取。一般來說,您可以使用與 Edge 一起安裝的 Postgres 伺服器,無論是獨立 Postgres 伺服器,還是以主/待機模式設定的兩部 Postgres 伺服器。如果 Postgres 伺服器的負載很高,您也可以選擇建立專門用於 Apigee SSO 的獨立 Postgres 節點。
新增對 OAuth2 to Edge for Private Cloud 的支援
如上所述,SAML 的 Edge 實作依賴 OAuth2 存取權杖。因此,Edge for Private Cloud 已新增 OAuth2 支援。詳情請參閱「OAuth 2.0 簡介」。
關於 SAML
SAML 驗證有多項優點。使用 SAML 可讓您:
- 全面控管使用者管理。當使用者離開貴機構,並由中央取消佈建時,系統會自動拒絕他們存取 Edge。
- 控管使用者存取 Edge 的驗證方式。您可以為不同的 Edge 組織選擇不同的驗證類型。
- 控管驗證政策。您的 SAML 供應商可能支援更符合企業標準的驗證政策。
- 您可以監控 Edge 部署作業的登入、登出、登入失敗和高風險活動。
啟用 SAML 後,系統會使用 OAuth2 存取權杖存取 Edge UI 和 Edge Management API。這些權杖是由 Apigee SSO 模組產生,該模組會接受 IDP 傳回的 SAML 斷言。
OAuth 權杖從 SAML 斷言產生後,有效期限為 30 分鐘,更新權杖的有效期限則為 24 小時。您的開發環境可能支援常見開發工作的自動化,例如測試自動化或持續整合/持續部署 (CI/CD),這些工作需要效期較長的權杖。如要瞭解如何為自動化工作建立特殊權杖,請參閱「搭配自動化工作使用 SAML」。
關於 LDAP
輕量型目錄存取通訊協定 (LDAP) 是一種開放式業界標準應用程式通訊協定,用於存取及維護分散式目錄資訊服務。目錄服務可提供任何有條理的記錄組合,通常採用階層式結構,例如企業電子郵件目錄。
Apigee SSO 中的 LDAP 驗證使用 Spring Security LDAP 模組。因此,Apigee SSO 的 LDAP 支援驗證方式和設定選項,與 Spring Security LDAP 中的驗證方式和設定選項直接相關。
Edge for 私有雲 的 LDAP 支援下列驗證方式,可對與 LDAP 相容的伺服器進行驗證:
- 搜尋和繫結 (間接繫結)
- 簡單繫結 (直接繫結)
Apigee SSO 會嘗試擷取使用者的電子郵件地址,並更新內部使用者記錄,以便在檔案中保留目前的電子郵件地址,因為 Edge 會使用這個電子郵件進行授權。
Edge UI 和 API 網址
您用來存取 Edge UI 和 Edge Management 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 Management 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 的連線會在託管 apigee-sso (Apigee SSO 模組) 的節點上,使用通訊埠 9099 上的 HTTP。apigee-sso 內建 Tomcat 執行個體,可處理 HTTP 和 HTTPS 要求。
Apigee SSO 和 Tomcat 支援三種連線模式:
- DEFAULT:預設設定支援通訊埠 9099 上的 HTTP 要求。
- SSL_TERMINATION:在您選擇的通訊埠上,啟用 Apigee SSO 的 TLS 存取權。您必須為這個模式指定 TLS 金鑰和憑證。
- SSL_PROXY:以 Proxy 模式設定 Apigee SSO,也就是在
apigee-sso前方安裝負載平衡器,並在負載平衡器上終止 TLS。您可以指定apigee-sso上用於負載平衡器要求的通訊埠。
為入口網站啟用外部 IDP 支援
為 Edge 啟用外部 IDP 支援後,您可以選擇為 Apigee Developer Services 入口網站 (或簡稱「入口網站」) 啟用這項功能。向 Edge 提出要求時,入口網站支援 SAML 和 LDAP 驗證。請注意,這與開發人員登入入口網站時使用的 SAML 和 LDAP 驗證不同。您必須另外為開發人員登入設定外部 IDP 驗證。詳情請參閱「設定入口網站以使用 IDP」。
設定入口網站時,您必須指定與 Edge 一併安裝的 Apigee SSO 模組網址:
