技術小百科|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 目錄有一個
層級樹狀結構
,由一個或更多的條目組成,這些條目一般代表一個真實世界的條目,比如組織、使用者等等。
對於一個企業而言,舉個例子,這個樹的根(頂層)能代表一個組織它自己,子條目可以為組織、商業單位、位置等,這些子條目能支援更多條目代表個體資源,比如使用者、組等等,如下圖所示:
二、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=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 協議來管理使用者,功能都已經整合,例如認證、過濾、增、刪、改、查等。 常見搜尋 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 解決方案。
點選連結,立刻了解 Authing!