技術小百科|LDAP

技術小百科|LDAP

什麼是 LDAP?

輕量級目錄訪問協議 LDAP

,( Lightweight Directory Access Protocol ),它是一種

軟體協議

,定義一個介面或語言為客戶端連線到目錄服務查詢或修改資訊,比如 OpenLDAP、Active Directory 等等。訪問 Authing 雲文件,瞭解 LDAP

LDAP

目錄訪問協議(DAP)

的“輕量級”版本,它是 X。500( 網路中目錄服務的標準 )的一部分。

一個 LDAP 服務一般儲存關於使用者、使用者認證資訊、組、使用者成員等等,充當一個使用者資訊的中心倉庫,通常使用為使用者認證和授權。 你可以想象一個 LDAP 就是一個數據儲存,支援客戶端應用通訊使用 LDAP 協議,包含兩個方面,分別是目錄和協議。

LDAP 的

常見用途

是為

身份驗證提供中心位置

—— 意味著它儲存使用者名稱和密碼。然後,可以將 LDAP 用於不同的應用程式或服務中,以透過外掛驗證使用者。例如,LDAP 可用於

Docker

Jenkins

Kubernetes

Open VPN

Linux Samba

伺服器驗證使用者名稱和密碼。系統管理員還可以使用 LDAP 單一登入來控制對 LDAP 資料庫的訪問。

除此之外,LDAP 還可以用於用於將操作新增到目錄伺服器資料庫中,對會話進行身份驗證或繫結,刪除 LDAP 條目,使用不同的命令搜尋和比較條目,修改現有條目,擴充套件條目,放棄請求或取消繫結操作。

LDAP 目錄結構

一個 LDAP 目錄有一個

層級樹狀結構

,由一個或更多的條目組成,這些條目一般代表一個真實世界的條目,比如組織、使用者等等。

對於一個企業而言,舉個例子,這個樹的根(頂層)能代表一個組織它自己,子條目可以為組織、商業單位、位置等,這些子條目能支援更多條目代表個體資源,比如使用者、組等等,如下圖所示:

技術小百科|LDAP

二、Where (場景構建)

下面建立一個真實的目錄便於理解,資料使用一個學校,如下圖:

技術小百科|LDAP

在頂層你能看到一個 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=comobjectClass: organizationalPersonobjectClass: personobjectClass: inetOrgPersonobjectClass: topcn: triddlesn: RiddledisplayName: Tom RiddlegivenName: Tommail: Tom。Riddle@hogwarts。eduuid: 20007userPassword: 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=compassword: 123456

三、How (問題解決)

如何在 Authing 身份雲上使用 LDAP ?

在 Authing 身份雲我們已經為您集成了 LDAP 協議,只需要一鍵開啟 LDAP,您不僅可以透過 LDAP 協議來管理您雲上的使用者資訊,還可以為您的使用者使用 LDAP 協議無縫銜接其他支援 LDAP 協議的平臺,進行例如認證、授權等操作。

開啟方法

: 首先使用賬戶密碼登入 Authing 平臺,然後點選主介面–使用者管理–右上角點選開關–開啟,如下圖:

技術小百科|LDAP

是不是很簡單?

開啟後即可使用 LDAP 協議來管理使用者,功能都已經整合,例如認證、過濾、增、刪、改、查等。 常見搜尋 dn 地址資料結構如下:

技術小百科|LDAP

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

技術小百科|LDAP

-H LDAP server URI,包含地址及埠,所有使用者都是這個地址 -D bind dn,指定伺服器用於認證您的專有名稱 -w 使用者池密碼 -LLL 指定以 LDIF 格式輸出,不用註釋和版本 -b base dn,如果要搜尋的伺服器需要指定搜尋起點,則必須使用此引數,否則該引數是可選的 -x 簡單認證

技術小百科|LDAP

關於 Authing

Authing 既是客戶的支持者,也是客戶的產品專家和戰略顧問,更是值得信賴的合作伙伴。

我們提供全球化的身份專家支援團隊,透過網路或電話,7*24 小時不間斷支援。

Authing

的幫助中心提供最新的技術知識庫、商業案例以及與您的同行和

Authing

專家聯絡的機會。無論您何時需要我們,

Authing

的支援團隊總能最快響應。

2022 年,

Authing

將秉承著致力於客戶成功的初衷,幫助推動客戶重要業務,為實現身份連通、打破資料孤島而不懈努力。

目前,Authing 身份雲已幫助

30,000+

家企業和開發者構建標準化的使用者身份體系,感謝

可口可樂、元氣森林、招商銀行、中國石油、三星集團、CSDN

等客戶選擇並實施 Authing 解決方案。

點選連結,立刻了解 Authing!