nexus3 配置了ldap的active directory認(rèn)證方式西傀,并且通過ldap的group來(lái)分配role權(quán)限贤旷。
server administration config → security → LDAP:
1、新建一個(gè)connection茧彤,配置如下:
name: 新的configuration唯一標(biāo)識(shí)
LDAP server address: ldap地址,一般是389端口
Search base:?search base進(jìn)一步限定了與LDAP服務(wù)器的連接。通常對(duì)應(yīng)于組織的域名忠荞。例如,dc = example帅掘,dc = com
Authentication method: 認(rèn)證方式委煤,通常選擇simple authentication
Simple Authentication:?簡(jiǎn)單身份驗(yàn)證由用戶名和密碼組成。對(duì)于不使用安全ldaps協(xié)議的生產(chǎn)部署修档,不建議使用簡(jiǎn)單身份驗(yàn)證碧绞,因?yàn)樗ㄟ^網(wǎng)絡(luò)發(fā)送明文密碼。
填寫完基本的connection信息后吱窝,進(jìn)行verify connection驗(yàn)證讥邻,如果通過點(diǎn)擊next迫靖,進(jìn)行user和group信息填寫;不通過的常見問題在文章最后說(shuō)明兴使。
2系宜、填寫user和group信息:
configuration template:你的ldap類型,我這里用的是active directory
Base DN:?對(duì)應(yīng)于用作用戶條目基礎(chǔ)的專有名稱集合发魄。此DN與前面的search base相關(guān)盹牧。例如,如果您的用戶都包含在ou = users励幼,dc = sonatype汰寓,dc = com中,并且您指定了dc = sonatype赏淌,dc = com的搜索庫(kù)踩寇,則使用值ou = users。
User subtree:?如果基本DN下面的樹可以包含用戶條目六水,則值為true;如果所有用戶都包含在指定的基本DN中俺孙,則為false。例如掷贾,如果所有用戶都在ou = users睛榄,dc = sonatype,dc = com想帅,則此字段應(yīng)為False场靴。如果用戶可以在組織單位內(nèi)的組織單位中顯示,例如ou = development港准,ou = users旨剥,dc = sonatype,dc = com浅缸,則此字段應(yīng)為True轨帜。
Object class:?此值是RFC-2798中定義的標(biāo)準(zhǔn)對(duì)象類。它為用戶指定對(duì)象類衩椒。常見值為inetOrgPerson蚌父,person,user或posixAccount毛萌。
User filter:?這允許您配置過濾器以限制對(duì)用戶記錄的搜索苟弛。它可以用作性能改進(jìn)。
User ID attribute:?這是上面指定的對(duì)象類的屬性阁将,它從LDAP服務(wù)器提供用戶的標(biāo)識(shí)符膏秫。存儲(chǔ)庫(kù)管理器使用此屬性作為用戶ID值。
Real name attribute:?這是Object類的屬性做盅,它提供用戶的真實(shí)姓名荔睹。存儲(chǔ)庫(kù)管理器在需要顯示用戶的真實(shí)姓名時(shí)使用此屬性狸演,類似于內(nèi)部名字和姓氏屬性的使用。
3僻他、配置group:group可以選擇從ldap代入宵距,也可以選擇不帶入。代入的好處是講ldap原來(lái)的group帶入可以作為role吨拗,這樣對(duì)于整個(gè)ldap的用戶權(quán)限能很好管理:
常見錯(cuò)誤總結(jié):
1满哪、Failed to connect to LDAP Server: 10.xxx.x.0:389 [Caused by java.net.ConnectException: Connection refused (Connection refused)]
原因通常是域名有誤,dc=example,dc=com這里可能需要修改劝篷。
2哨鸭、Failed to connect to LDAP Server: [LDAP: error code 32 - 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best match of: 'DC=example,DC=com' ]
在【Connection】這個(gè)標(biāo)簽頁(yè),Search base填寫DC=example,DC=com就夠了娇妓,不需要寫CN像鸡、OU等其它參數(shù)。
3哈恰、Failed to connect to LDAP Server: Failed to retrieve ldap information for users. [Caused by javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0, best match of: 'DC=example,DC=com' ]]
Base DN這一欄只估,填寫CN或者OU就夠了,要確保正確着绷。 不需要寫DC蛔钙,因?yàn)榍懊鍿earch base已經(jīng)寫過了,或者可以完全空白荠医。
參考:
官方文檔:https://help.sonatype.com/repomanager3/security/ldap
博客匿蟒 :https://note.qidong.name/2017/09/nexus-ldap/