使用 Shibboleth 和 OpenLDAP 的群組權限
由於 Shibboleth 是 SAML 提供者,它不支援搜尋群組。雖然 Shibboleth 整合可以驗證使用者憑證,但如果沒有額外的設定,它無法用於在 Rancher 中將權限指派給群組。
解決此問題的一種方法是設定 OpenLDAP 身分提供者。使用 OpenLDAP 作為 Shibboleth 的後端,您將能夠在 Rancher 中搜尋群組,並從 Rancher UI 將它們指派給資源,例如叢集、專案或命名空間。
術語
- Shibboleth 是用於電腦網路和網際網路的單一登入系統。它允許人們使用單一身分登入到各種系統。它驗證使用者憑證,但本身不處理群組成員資格。
- SAML: Security Assertion Markup Language(安全性聲明標記語言),是一個開放標準,用於在身分提供者和服務提供者之間交換身分驗證和授權資料。
- OpenLDAP: 輕量級目錄存取協定 (LDAP) 的免費開源實作。它用於管理組織的電腦和使用者。OpenLDAP 對 Rancher 使用者很有用,因為它支援群組。在 Rancher 中,可以將權限指派給群組,使它們可以存取資源(例如叢集、專案或命名空間),只要這些群組已存在於身分提供者中。
- IdP 或 IDP: 身分提供者。OpenLDAP 是身分提供者的一個範例。
將 OpenLDAP 群組權限新增到 Rancher 資源
下圖說明 OpenLDAP 群組的成員如何存取該群組在 Rancher 中擁有權限的資源。
例如,叢集擁有者可以將 OpenLDAP 群組新增到叢集,以便他們擁有檢視大多數叢集層級資源和建立新專案的權限。然後,OpenLDAP 群組成員一旦登入 Rancher,就可以存取該叢集。
在此情境中,OpenLDAP 允許叢集擁有者在指派權限時搜尋群組。沒有 OpenLDAP,將不支援搜尋群組的功能。
當 OpenLDAP 群組的成員登入 Rancher 時,她會被重新導向到 Shibboleth 並輸入她的使用者名稱和密碼。
Shibboleth 驗證她的憑證,並從 OpenLDAP 檢索使用者屬性,包括群組。然後 Shibboleth 向 Rancher 發送包含使用者屬性的 SAML 聲明。Rancher 使用群組資料,以便她可以存取她的群組擁有權限的所有資源和權限。