轻量级目录访问协议 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 目录有一个层级树状结构,由一个或更多的条目组成,这些条目一般代表一个真实世界的条目,比如组织、用户等等。
对于一个企业而言,举个例子,这个树的根(顶层)能代表一个组织它自己,子条目可以为组织、商业单位、位置等,这些子条目能支持更多条目代表个体资源,比如用户、组等等,如下图所示:
下面创建一个真实的目录便于理解,数据使用一个学校,如下图:
在顶层你能看到一个 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: Tom.Riddle@hogwarts.edu
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
如何在 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 既是客户的支持者,也是客户的产品专家和战略顾问,更是值得信赖的合作伙伴。我们提供全球化的身份专家支持团队,通过网络或电话,7*24 小时不间断支持。Authing的帮助中心提供最新的技术知识库、商业案例以及与您的同行和 Authing 专家联系的机会。无论您何时需要我们,Authing 的支持团队总能最快响应。
2022 年,Authing 将秉承着致力于客户成功的初衷,帮助推动客户重要业务,为实现身份连通、打破数据孤岛而不懈努力。
目前,Authing 身份云已帮助 30,000+ 家企业和开发者构建标准化的用户身份体系,感谢可口可乐、元气森林、招商银行、中国石油、三星集团、CSDN 等客户选择并实施 Authing 解决方案。