溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Rancher2如何實(shí)現(xiàn)OpenLDAP認(rèn)證

發(fā)布時(shí)間:2022-01-14 14:47:55 來源:億速云 閱讀:155 作者:小新 欄目:云計(jì)算

小編給大家分享一下Rancher2如何實(shí)現(xiàn)OpenLDAP認(rèn)證,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

版本支持: Rancher v2.0.5+

如果您的組織使用 LDAP 進(jìn)行用戶身份驗(yàn)證,則可以將 Rancher 與 OpenLDAP 服務(wù)集成,以提供統(tǒng)一的用戶身份驗(yàn)證。

OpenLDAP 身份驗(yàn)證流程

  1. 當(dāng)用戶嘗試使用 LDAP 賬號(hào)登錄 Rancher 時(shí),Rancher 使用具有 搜索目錄和讀取用戶/組權(quán)限 的服務(wù)帳戶創(chuàng)建對(duì) LDAP 服務(wù)器的初始綁定(賬號(hào)初始化)。

  2. 然后,Rancher 使用基于提供的用戶名和配置的屬性映射的搜索過濾器在目錄中搜索用戶。

  3. 找到用戶后,使用用戶的 DN 和提供的密碼對(duì)另一個(gè) LDAP 綁定請(qǐng)求進(jìn)行身份驗(yàn)證。

  4. 驗(yàn)證成功后,Rancher 將從用戶對(duì)象的成員資格屬性中解析組成員資格,并根據(jù)配置的用戶映射屬性執(zhí)行組搜索。

注意 在配置之前請(qǐng)先熟悉 外部身份驗(yàn)證配置和主要用戶的概念。

先決條件

必須使用 LDAP 綁定帳戶(也稱為服務(wù)帳戶)配置 Rancher,以搜索和檢索用戶和組相關(guān)的 LDAP 條目。建議不要使用管理員帳戶或個(gè)人帳戶,而是在 OpenLDAP 中創(chuàng)建一個(gè)專用帳戶,對(duì)配置的搜索路徑下的用戶和組只具有只讀訪問權(quán)限(見下文)。

配置步驟

打開 OpenLDAP 配置頁面

  1. 使用系統(tǒng)默認(rèn)的 admin 帳戶登錄 Rancher UI。

  2. 全局 視圖中,導(dǎo)航到 安全 > 認(rèn)證頁面

  3. 選擇 OpenLDAP,將顯示 配置 OpenLDAP 服務(wù)器 表單。

OpenLDAP 服務(wù)器配置

使用 TLS? 如果 OpenLDAP 服務(wù)器使用的是自簽名證書,或不是來自權(quán)威的證書頒發(fā)機(jī)構(gòu),請(qǐng)確保有 PEM 格式的 CA 證書(與所有的中間證書連接)。您必須在配置期間設(shè)置證書,以便 Rancher 能夠驗(yàn)證證書鏈。

OpenLDAP 服務(wù)器參數(shù)
參數(shù)描述
Hostname指定 OpenLDAP 服務(wù)器的主機(jī)名或 IP 地址
端口指定 OpenLDAP 服務(wù)器正在偵聽的端口,未加密的 LDAP 通常使用標(biāo)準(zhǔn)端口 389,而 LDAPS 使用端口 636
TLS選中此框以啟用基于 SSL/TLS 的 LDAP(通常稱為 LDAPS)。如果服務(wù)器使用 自簽名/企業(yè)簽名 的 SSL 證書,則還需要粘貼 CA 證書。
服務(wù)器連接超時(shí)Rancher 在考慮服務(wù)器不可達(dá)之前等待的持續(xù)時(shí)間(以秒為單位)。
服務(wù)帳戶用于綁定、搜索和檢索 LDAP 條目的服務(wù)帳戶(DN)。
服務(wù)帳號(hào)密碼服務(wù)帳戶密碼。
用戶搜索起點(diǎn)用戶搜索起點(diǎn),所有用戶都基于此 DN 以及子目錄進(jìn)行搜索。例如:ou=people,dc=acme,dc=com
用戶組搜索起點(diǎn)用戶組搜索起點(diǎn),所有用戶組都基于此 DN 以及子目錄進(jìn)行搜索。如果留空,將會(huì)基于 用戶搜索起點(diǎn) 進(jìn)行搜索。例如:ou=groups,dc=acme,dc=com。

自定義架構(gòu)配置

如果您的 OpenLDAP 不是標(biāo)準(zhǔn) OpenLDAP 架構(gòu),則必須自定義架構(gòu)以匹配相應(yīng)字段。

請(qǐng)注意,Rancher 使用本節(jié)中配置的屬性映射來構(gòu)造搜索過濾器并解析組成員身份。因此,始終建議您驗(yàn)證此處的配置是否與您的 OpenLDAP 架構(gòu)中使用的字段匹配。

如果您不熟悉 OpenLDAP 服務(wù)器中使用的 用戶/組 架構(gòu),請(qǐng)咨詢 LDAP 管理員,或參閱 Active Directory 身份驗(yàn)證文檔中的使用 ldapsearch 識(shí)別搜索庫和架構(gòu)部分。

用戶架構(gòu)配置

下表詳細(xì)介紹了用戶架構(gòu)配置的參數(shù)。

參數(shù)描述
對(duì)象類別域中用于用戶對(duì)象的對(duì)象類的名稱。如果已定義,則只指定對(duì)象類的名稱——不要將其包含在 LDAP 包裝器中,例如&(objectClass=xxxx)
用戶名屬性用戶屬性,其值適合作為顯示名稱。
登錄屬性該屬性的值與用戶登錄 Rancher 時(shí)輸入的 用戶名 匹配,通常是 uid。
用戶成員屬性包含用戶所屬組的專有名稱的用戶屬性,通常這是 memberOfisMemberOf
搜索屬性當(dāng)用戶輸入文本以在 UI 中添加 用戶或組 時(shí),Rancher 會(huì)查詢 LDAP 服務(wù)器并嘗試通過此設(shè)置中提供的屬性來匹配用戶。通過使用豎線(“ |”)符號(hào)將多個(gè)屬性分開,可以指定多個(gè)屬性。
用戶啟用的屬性如果您的 OpenLDAP 服務(wù)器的架構(gòu)支持用戶屬性,可以對(duì)其值進(jìn)行評(píng)估以確定該帳戶是禁用還是鎖定,請(qǐng)輸入該屬性的名稱。默認(rèn)的 OpenLDAP 模式不支持此功能,并且該字段通常應(yīng)留空。
禁用狀態(tài)位掩碼這是 禁用/鎖定 的用戶帳戶的值。如果 User Enabled Attribute 為空,則忽略該參數(shù)。
用戶組架構(gòu)配置

下表詳細(xì)說明了組架構(gòu)配置的參數(shù)。

參數(shù)描述
對(duì)象類別域中用于分組條目的對(duì)象類的名稱。如果已定義,則只指定對(duì)象類的名稱——不要將其包含在 LDAP 包裝器中,例如 &(objectClass=xxxx)
名稱屬性組屬性,其值適合于顯示名稱。
組成員用戶屬性user attribute 的名稱,其格式與 Group Member Mapping Attribute 中的組成員匹配 。
組成員映射屬性包含組成員的組屬性的名稱。
搜索屬性將組添加到 UI 中的集群或項(xiàng)目 時(shí),用于構(gòu)造搜索過濾器的屬性。請(qǐng)參閱用戶架構(gòu) Search Attribute 說明 。
組 DN 屬性組屬性的名稱,其格式與用戶的組成員資格屬性中的值匹配。請(qǐng)參閱 User Member Attribute
嵌套組成員此設(shè)置定義 Rancher 是否搜索嵌套的組成員。僅當(dāng)您的組織使用這些嵌套成員時(shí)才使用(即您具有包含其他組作為成員的組)。如果使用 Shibboleth,則禁用此選項(xiàng)。

配置腳本

#!/bin/bash
export RANCHER_DOMAIN="rancher.yourdomain.com"
export RANCHER_TOKEN="token-xxxxx:xxxx"
export ACCESS_MODE="unrestricted"
export CONNECTION_TIMEOUT="5000"
export LDAP_HOST="ldap.yourdomain.com"
export LDAP_PORT="636"
export TLS="true"
export SA_DN="uid=x,ou=x,o=x,dc=yourdomain,dc=com"
export SA_PW="sa_password"
export USER_SEARCHBASE="ou=x,o=x,dc=yourdomain,dc=com"
export USERNAME="username"
export PASSWORD="password"

curl -u $RANCHER_TOKEN "https://${RANCHER_DOMAIN}/v3/openLdapConfigs/openldap?action=testAndApply" \
    -H 'content-type: application/json' \
    -H 'accept: application/json' \
    --data-binary '{"ldapConfig":{"accessMode":"'"${ACCESS_MODE}"'","baseType":"authConfig","connectionTimeout":"'"${CONNECTION_TIMEOUT}"'","enabled":true,"groupDNAttribute":"entryDN","groupMemberMappingAttribute":"member","groupMemberUserAttribute":"entryDN","groupNameAttribute":"cn","groupObjectClass":"groupOfNames","groupSearchAttribute":"cn","id":"openldap","labels":{"cattle.io/creator":"norman"},"name":"openldap","nestedGroupMembershipEnabled":false,"port":"'"${LDAP_PORT}"'","servers":["'"${LDAP_HOST}"'"],"serviceAccountDistinguishedName":"'"${SA_DN}"'","tls":"'"${TLS}"'","type":"openLdapConfig","userDisabledBitMask":0,"userLoginAttribute":"uid","userMemberAttribute":"memberOf","userNameAttribute":"cn","userObjectClass":"inetOrgPerson","userSearchAttribute":"uid|sn|givenName","userSearchBase":"'"${USER_SEARCHBASE}"'","serviceAccountPassword":"'"${SA_PW}"'","groupSearchBase":null},"enabled":true,"username":"'"${USERNAME}"'","password":"'"${PASSWORD}"'"}' --compressed --insecure

以上是“Rancher2如何實(shí)現(xiàn)OpenLDAP認(rèn)證”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI