OpenLDAP 設定參考
有關設定 OpenLDAP 身份驗證的更多詳細資訊,請參閱官方文件。
在您繼續進行設定之前,請先熟悉外部身份驗證設定和主要使用者的概念。
背景:OpenLDAP 身份驗證流程
- 當使用者嘗試使用 LDAP 憑證登入時,Rancher 使用具有搜尋目錄和讀取使用者/群組屬性權限的服務帳戶建立對 LDAP 伺服器的初始綁定。
- 然後,Rancher 使用基於提供的使用者名稱和設定的屬性映射的搜尋過濾器在目錄中搜尋使用者。
- 找到使用者後,使用使用者的 DN 和提供的密碼透過另一個 LDAP 綁定請求對其進行身份驗證。
- 一旦身份驗證成功,Rancher 會從使用者物件中的成員資格屬性以及根據設定的使用者映射屬性執行群組搜尋來解析群組成員資格。
OpenLDAP 伺服器設定
您需要輸入位址、連接埠和協定以連線到您的 OpenLDAP 伺服器。389 是不安全流量的標準連接埠,636 是 TLS 流量的標準連接埠。
使用 TLS?
如果 OpenLDAP 伺服器使用的憑證是自簽名的或不是來自認可的憑證授權機構,請確保您擁有 PEM 格式的 CA 憑證(與任何中繼憑證串接)。您必須在設定期間貼上此憑證,以便 Rancher 能夠驗證憑證鏈。
如果您對在使用者/群組搜尋基底設定欄位中輸入的正確值有疑問,請諮詢您的 LDAP 管理員或參閱 Active Directory 身份驗證文件中的使用 ldapsearch 識別搜尋基底和結構部分。
| 參數 | 描述 |
|---|---|
| Hostname | 指定 OpenLDAP 伺服器的主機名稱或 IP 位址 |
| Port | 指定 OpenLDAP 伺服器正在監聽連線的連接埠。未加密的 LDAP 通常使用標準連接埠 389,而 LDAPS 使用連接埠 636。 |
| TLS | 勾選此框以啟用 LDAP over SSL/TLS(通常稱為 LDAPS)。如果伺服器使用自簽名/企業簽名憑證,您還需要貼上 CA 憑證。 |
| Server Connection Timeout | Rancher 在認為伺服器無法連線之前等待的秒數。 |
| Service Account Distinguished Name | 輸入應用於綁定、搜尋和擷取 LDAP 條目的使用者的可分辨名稱 (DN)。 |
| Service Account Password | 服務帳戶的密碼。 |
| User Search Base | 輸入目錄樹中節點的可分辨名稱,從該節點開始搜尋使用者物件。所有使用者都必須是此基底 DN 的後代。例如:"ou=people,dc=acme,dc=com"。 |
| Group Search Base | 如果您的群組位於與 User Search Base 下設定的節點不同的節點下,您需要在此處提供可分辨名稱。否則將此欄位留空。例如:"ou=groups,dc=acme,dc=com"。 |
使用者/群組結構設定
如果您的 OpenLDAP 目錄偏離標準 OpenLDAP 結構,您必須完成 Customize Schema 部分以與其匹配。
請注意,此部分中設定的屬性映射由 Rancher 用於建構搜尋過濾器和解析群組成員資格。因此,始終建議驗證此處的設定與 OpenLDAP 中使用的結構匹配。
如果您不熟悉 OpenLDAP 伺服器中使用的使用者/群組結構,請諮詢您的 LDAP 管理員或參閱 Active Directory 身份驗證文件中的使用 ldapsearch 識別搜尋基底和結構部分。
使用者結構設定
下表詳細說明了使用者結構設定的參數。
| 參數 | 描述 |
|---|---|
| Object Class | 用於您網域中使用者物件的物件類別名稱。如果已定義,僅指定物件類別的名稱 - 不要將其包含在 LDAP 包裝器中,例如 &(objectClass=xxxx) |
| Username Attribute | 其值適合作為顯示名稱的使用者屬性。 |
| Login Attribute | 其值與使用者登入 Rancher 時輸入的憑證的使用者名稱部分匹配的屬性。這通常是 uid。 |
| User Member Attribute | 包含使用者所屬群組的可分辨名稱的使用者屬性。通常這是 memberOf 或 isMemberOf 之一。 |
| Search Attribute | 當使用者在 UI 中輸入文字以新增使用者或群組時,Rancher 會查詢 LDAP 伺服器並嘗試透過此設定中提供的屬性來匹配使用者。可以透過使用管道("|")符號分隔它們來指定多個屬性。 |
| User Enabled Attribute | 如果您的 OpenLDAP 伺服器的結構支援使用者屬性,其值可以被評估以確定帳戶是否已停用或鎖定,請輸入該屬性的名稱。預設的 OpenLDAP 結構不支援此功能,該欄位通常應保留為空。 |
| Disabled Status Bitmask | 這是已停用/鎖定的使用者帳戶的值。如果 User Enabled Attribute 為空,則忽略此參數。 |
群組結構設定
下表詳細說明了群組結構設定的參數。
| 參數 | 描述 |
|---|---|
| Object Class | 用於您網域中群組條目的物件類別名稱。如果已定義,僅指定物件類別的名稱 - 不要將其包含在 LDAP 包裝器中,例如 &(objectClass=xxxx) |
| Name Attribute | 其值適合作為顯示名稱的群組屬性。 |
| Group Member User Attribute | 使用者屬性的名稱,其格式與 Group Member Mapping Attribute 中的群組成員匹配。 |
| Group Member Mapping Attribute | 包 含群組成員的群組屬性的名稱。 |
| Search Attribute | 在 UI 中將群組新增到叢集或專案時用於建構搜尋過濾器的屬性。請參閱使用者結構 Search Attribute 的描述。 |
| Group DN Attribute | 群組屬性的名稱,其格式與使用者的群組成員資格屬性中的值匹配。請參閱 User Member Attribute。 |
| Nested Group Membership | 此設定定義 Rancher 是否應解析巢狀群組成員資格。僅在您的組織使用這些巢狀成員資格時使用(即您有包含其他群組作為成員的群組)。如果您使用 Shibboleth,則此選項將被停用。 |