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

二、Where (場景構建)
下面創建一個真實的目錄便于理解,數據使用一個學校,如下圖:

在頂層你能看到一個 dc=hogwarts, dc=com,使用它來代表整個學校,它有一個子條目,代表為一個組織單元 ou=users,它有很多子條目,比如 cn=triddle 來代表學生。 在上圖中,我們能忽略其中頂級條目 ou=config, ou=schema, ou=system,因為他們關系到這個目錄它自己的 schema 和 config,是來自于安裝后的默認配置。
Entry(條目):每個對象在目錄中被叫做一個 LDAP 條目,例如:ou=users,cn=triddle。
Attribute(屬性):每個entry 典型的有一個或更多的屬性被使用來描述對象,比如姓,名,郵箱,商業單位等等。
LDAP 規范定義一個標準屬性設置,比如 cn,sn,mail,objectClass 等等,對于我們的例子,讓我們從上面的描述,拿用戶 Tom Riddle 來舉例,下面是這個用戶的屬性:
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
正如你所看到的,它包含一些基本的個人信息和用戶的密碼。 Distinguished Name or DN: 在 LDAP 中識別一個條目,我們使用 Distinguished Name or dn,這個dn在一個目錄中是全局唯一的,它的值是目錄樹中一個對象的位置,它可以被“連接”為當前條目名字和它的父節點一直到頂層(根)節點的條目“相加”。對上述已被列出的用戶 Tom Riddle 而言,它的 DN 將會是:
"cn=triddle" + "ou=users" + "dc=hogwarts, dc=com"
DN:cn=triddle, ou=users, dc=hogwarts, dc=com
用戶認證 基于 LDAP 做一個認證同樣也需要用戶名和密碼,在這個案例描述中用戶名就是 LDAP 中的 DN,因此,假設用戶 Tom Riddle 的密碼為 123456,你將使用如下方式認證成功:
username: cn=triddle, ou=users, dc=hogwarts, dc=com
password: 123456
三、How (問題解決)
如何在 Authing 身份云上使用 LDAP ?
在 Authing 身份云我們已經為您集成了 LDAP 協議,只需要一鍵開啟 LDAP,您不僅可以通過 LDAP 協議來管理您云上的用戶信息,還可以為您的用戶使用 LDAP 協議無縫銜接其他支持 LDAP 協議的平臺,進行例如認證、授權等操作。
開啟方法: 首先使用賬戶密碼登錄 Authing 平臺,然后點擊主界面–用戶管理–右上角點擊開關–開啟,如下圖:

是不是很簡單? 開啟后即可使用 LDAP 協議來管理用戶,功能都已經集成,例如認證、過濾、增、刪、改、查等。 常見搜索 dn 地址數據結構如下:

下面以查詢功能舉例,如下圖:

-H LDAP server URI,包含地址及端口,所有用戶都是這個地址
-D bind dn,指定服務器用于認證您的專有名稱
-w 用戶池密碼
-LLL 指定以 LDIF 格式輸出,不用注釋和版本
-b base dn,如果要搜索的服務器需要指定搜索起點,則必須使用此參數,否則該參數是可選的
-x 簡單認證
關于 Authing
Authing 既是客戶的支持者,也是客戶的產品專家和戰略顧問,更是值得信賴的合作伙伴。我們提供全球化的身份專家支持團隊,通過網絡或電話,7*24 小時不間斷支持。Authing的幫助中心提供最新的技術知識庫、商業案例以及與您的同行和 Authing 專家聯系的機會。無論您何時需要我們,Authing 的支持團隊總能最快響應。
2022 年,Authing 將秉承著致力于客戶成功的初衷,幫助推動客戶重要業務,為實現身份連通、打破數據孤島而不懈努力。
目前,Authing 身份云已幫助 30,000+ 家企業和開發者構建標準化的用戶身份體系,感謝可口可樂、元氣森林、招商銀行、中國石油、三星集團、CSDN 等客戶選擇并實施 Authing 解決方案。