輕量級(jí)目錄訪(fǎng)問(wèn)協(xié)議 LDAP,( Lightweight Directory Access Protocol ),它是一種軟件協(xié)議,定義一個(gè)接口或語(yǔ)言為客戶(hù)端連接到目錄服務(wù)查詢(xún)或修改信息,比如 OpenLDAP、Active Directory 等等。訪(fǎng)問(wèn) Authing 云文檔,了解 LDAP
LDAP 是目錄訪(fǎng)問(wèn)協(xié)議(DAP) 的“輕量級(jí)”版本,它是 X.500( 網(wǎng)絡(luò)中目錄服務(wù)的標(biāo)準(zhǔn) )的一部分。
一個(gè) LDAP 服務(wù)一般存儲(chǔ)關(guān)于用戶(hù)、用戶(hù)認(rèn)證信息、組、用戶(hù)成員等等,充當(dāng)一個(gè)用戶(hù)信息的中心倉(cāng)庫(kù),通常使用為用戶(hù)認(rèn)證和授權(quán)。 你可以想象一個(gè) LDAP 就是一個(gè)數(shù)據(jù)存儲(chǔ),支持客戶(hù)端應(yīng)用通訊使用 LDAP 協(xié)議,包含兩個(gè)方面,分別是目錄和協(xié)議。
LDAP 的常見(jiàn)用途是為身份驗(yàn)證提供中心位置 —— 意味著它存儲(chǔ)用戶(hù)名和密碼。然后,可以將 LDAP 用于不同的應(yīng)用程序或服務(wù)中,以通過(guò)插件驗(yàn)證用戶(hù)。例如,LDAP 可用于 Docker,Jenkins,Kube.NETes,Open VPN 和 linux Samba 服務(wù)器驗(yàn)證用戶(hù)名和密碼。系統(tǒng)管理員還可以使用 LDAP 單一登錄來(lái)控制對(duì) LDAP 數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。
除此之外,LDAP 還可以用于用于將操作添加到目錄服務(wù)器數(shù)據(jù)庫(kù)中,對(duì)會(huì)話(huà)進(jìn)行身份驗(yàn)證或綁定,刪除 LDAP 條目,使用不同的命令搜索和比較條目,修改現(xiàn)有條目,擴(kuò)展條目,放棄請(qǐng)求或取消綁定操作。
LDAP 目錄結(jié)構(gòu)
一個(gè) LDAP 目錄有一個(gè)層級(jí)樹(shù)狀結(jié)構(gòu),由一個(gè)或更多的條目組成,這些條目一般代表一個(gè)真實(shí)世界的條目,比如組織、用戶(hù)等等。
對(duì)于一個(gè)企業(yè)而言,舉個(gè)例子,這個(gè)樹(shù)的根(頂層)能代表一個(gè)組織它自己,子條目可以為組織、商業(yè)單位、位置等,這些子條目能支持更多條目代表個(gè)體資源,比如用戶(hù)、組等等,如下圖所示:

二、Where (場(chǎng)景構(gòu)建)
下面創(chuàng)建一個(gè)真實(shí)的目錄便于理解,數(shù)據(jù)使用一個(gè)學(xué)校,如下圖:

在頂層你能看到一個(gè) dc=hogwarts, dc=com,使用它來(lái)代表整個(gè)學(xué)校,它有一個(gè)子條目,代表為一個(gè)組織單元 ou=users,它有很多子條目,比如 cn=triddle 來(lái)代表學(xué)生。 在上圖中,我們能忽略其中頂級(jí)條目 ou=config, ou=schema, ou=system,因?yàn)樗麄冴P(guān)系到這個(gè)目錄它自己的 schema 和 config,是來(lái)自于安裝后的默認(rèn)配置。
Entry(條目):每個(gè)對(duì)象在目錄中被叫做一個(gè) LDAP 條目,例如:ou=users,cn=triddle。
Attribute(屬性):每個(gè)entry 典型的有一個(gè)或更多的屬性被使用來(lái)描述對(duì)象,比如姓,名,郵箱,商業(yè)單位等等。
LDAP 規(guī)范定義一個(gè)標(biāo)準(zhǔn)屬性設(shè)置,比如 cn,sn,mail,objectClass 等等,對(duì)于我們的例子,讓我們從上面的描述,拿用戶(hù) Tom Riddle 來(lái)舉例,下面是這個(gè)用戶(hù)的屬性:
dn: cn=triddle, ou=users, dc=hogwarts, dc=com
objectClass: organizationalPerson
objectClass: persono
bjectClass: inetOrgPerson
objectClass: top
cn: triddle
sn: Riddle
displayName: Tom Riddle
givenName: Tom
mail: [email protected]
uid: 20007
userPassword: SHA hashed password
正如你所看到的,它包含一些基本的個(gè)人信息和用戶(hù)的密碼。 Distinguished Name or DN: 在 LDAP 中識(shí)別一個(gè)條目,我們使用 Distinguished Name or dn,這個(gè)dn在一個(gè)目錄中是全局唯一的,它的值是目錄樹(shù)中一個(gè)對(duì)象的位置,它可以被“連接”為當(dāng)前條目名字和它的父節(jié)點(diǎn)一直到頂層(根)節(jié)點(diǎn)的條目“相加”。對(duì)上述已被列出的用戶(hù) Tom Riddle 而言,它的 DN 將會(huì)是:
"cn=triddle" + "ou=users" + "dc=hogwarts, dc=com"
DN:cn=triddle, ou=users, dc=hogwarts, dc=com
用戶(hù)認(rèn)證 基于 LDAP 做一個(gè)認(rèn)證同樣也需要用戶(hù)名和密碼,在這個(gè)案例描述中用戶(hù)名就是 LDAP 中的 DN,因此,假設(shè)用戶(hù) Tom Riddle 的密碼為 123456,你將使用如下方式認(rèn)證成功:
username: cn=triddle, ou=users, dc=hogwarts, dc=com
password: 123456
三、How (問(wèn)題解決)
如何在 Authing 身份云上使用 LDAP ?
在 Authing 身份云我們已經(jīng)為您集成了 LDAP 協(xié)議,只需要一鍵開(kāi)啟 LDAP,您不僅可以通過(guò) LDAP 協(xié)議來(lái)管理您云上的用戶(hù)信息,還可以為您的用戶(hù)使用 LDAP 協(xié)議無(wú)縫銜接其他支持 LDAP 協(xié)議的平臺(tái),進(jìn)行例如認(rèn)證、授權(quán)等操作。
開(kāi)啟方法: 首先使用賬戶(hù)密碼登錄 Authing 平臺(tái),然后點(diǎn)擊主界面–用戶(hù)管理–右上角點(diǎn)擊開(kāi)關(guān)–開(kāi)啟,如下圖:

是不是很簡(jiǎn)單? 開(kāi)啟后即可使用 LDAP 協(xié)議來(lái)管理用戶(hù),功能都已經(jīng)集成,例如認(rèn)證、過(guò)濾、增、刪、改、查等。 常見(jiàn)搜索 dn 地址數(shù)據(jù)結(jié)構(gòu)如下:

下面以查詢(xún)功能舉例,如下圖:

-H LDAP server URI,包含地址及端口,所有用戶(hù)都是這個(gè)地址
-D bind dn,指定服務(wù)器用于認(rèn)證您的專(zhuān)有名稱(chēng)
-w 用戶(hù)池密碼
-LLL 指定以 LDIF 格式輸出,不用注釋和版本
-b base dn,如果要搜索的服務(wù)器需要指定搜索起點(diǎn),則必須使用此參數(shù),否則該參數(shù)是可選的
-x 簡(jiǎn)單認(rèn)證
關(guān)于 Authing
Authing 既是客戶(hù)的支持者,也是客戶(hù)的產(chǎn)品專(zhuān)家和戰(zhàn)略顧問(wèn),更是值得信賴(lài)的合作伙伴。我們提供全球化的身份專(zhuān)家支持團(tuán)隊(duì),通過(guò)網(wǎng)絡(luò)或電話(huà),7*24 小時(shí)不間斷支持。Authing的幫助中心提供最新的技術(shù)知識(shí)庫(kù)、商業(yè)案例以及與您的同行和 Authing 專(zhuān)家聯(lián)系的機(jī)會(huì)。無(wú)論您何時(shí)需要我們,Authing 的支持團(tuán)隊(duì)總能最快響應(yīng)。
2022 年,Authing 將秉承著致力于客戶(hù)成功的初衷,幫助推動(dòng)客戶(hù)重要業(yè)務(wù),為實(shí)現(xiàn)身份連通、打破數(shù)據(jù)孤島而不懈努力。
目前,Authing 身份云已幫助 30,000+ 家企業(yè)和開(kāi)發(fā)者構(gòu)建標(biāo)準(zhǔn)化的用戶(hù)身份體系,感謝可口可樂(lè)、元?dú)馍帧⒄猩蹄y行、中國(guó)石油、三星集團(tuán)、CSDN 等客戶(hù)選擇并實(shí)施 Authing 解決方案。