管理 LDAP
LDAP 概述
LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种成熟、灵活且受良好支持的与目录服务器交互的标准机制。LDAP 以树状结构的组织数据保存企业的用户和组织信息,主要用于实现单点登录,即用户只需要在公司内的计算机上成功登录一次,便可以得到公司内其他系统的信任。
同时,LDAP 允许客户端在 LDAP 服务器中执行各种操作,包括存储和检索数据、搜索与给定条件集匹配的数据、对客户端进行身份验证等等,方便其他客户端对接并通过 LDAP 进行用户身份验证。更多信息请参考 LDAP 官方文档 。
平台支持对接的 LDAP 类型包括 OpenLDAP 和 Active Directory。
-
OpenLDAP:OpenLDAP 是 LDAP 的开源实现。如果您所在的企业使用开源的 LDAP 进行用户身份验证,您可通过在平台上添加 LDAP 并配置相关参数,让平台能够与 LDAP 服务进行通信,以便在 LDAP 用户登录平台时对其进行身份验证。关于 OpenLDAP 的更多信息,请参考 OpenLDAP 官方文档 。
OpenLDAP 服务器中的目录树的结构如下图所示。
-
Active Directory:Active Directory(活动目录)是 Microsoft 基于 LDAP 协议开发的,用于为 Windows 系统提供目录存储服务的软件。如果您所在的企业使用 Microsoft Active Directory 存储用户信息,您可通过在平台上添加 LDAP 并配置相关参数,让平台能够与 Active Directory 服务进行通信,以便在 Active Directory 用户登录平台时对其进行身份验证。
Active Directory 服务器中的目录树的结构如下图所示。
LDAP 主要术语请参见下表。
术语 | 说明 |
---|---|
Entry | LDAP 的基本模型是建立在条目(Entry)基础上的,条目是 LDAP 具有全局唯一标识(DN)的属性的集合,DN 用于明确地引用条目,每个条目的属性都有一个类型以及一个或多个值。与关系型数据进行类比,一个条目相当于数据库中的一条存储记录,而 DN 相当于数据库中记录的关键字,属性相当于数据库中的字段。 一个条目中,属性的类型(cn 代表公共名称、mail 代表电子邮件地址)决定了属性的值( cn=Babs Jensen 、 mail =babs@example.com )。 |
givenName | 用户的名字。例如:givenName=xq 。 |
sn | Surname,通常指用户的姓。例如:sn=ren 。 |
dn | Distinguished Name,唯一标识名,类似 Linux 文件系统中的绝对路径,每个对象都有唯一标识名。 例如:cn=admin,dc=example,dc=com 。 |
rdn | Relative dn,通常指相对标识名(辨别名),类似 Linux 文件系统中的相对路径。 例如:uid=example 。 |
uid | User ID,通常指一个用户的 ID。 例如:uid=example 。 |
ObjectClass | 是 LDAP 内置的数据模型。LDAP 通过 ObjectClass 来指定条目(Entry)中必须要有的和可选的属性,ObjectClass 的值决定了条目必须遵守的 Schema 规则。 例如:ObjectClass inetOrgPerson 指定一个条目中必须包含 cn、sn 属性,其他可选属性(description、seeAlso、telephoneNumber、userPassword 等)则可按需配置。 |
dc | Domain Component,通常指定一个域名,完整的域名会分成几部分。例如:dc=example,dc=com 。 |
o | Organization Name,通常指定一个组织的名字。例如:o=ogc 。 |
ou | Organization Unit,通常指定一个组织单元的名称。 例如:ou=People 。 |
cn | Common Name,是一个属性类型,通常指一个对象的公共名称。如果是人,需要使用全名,例如:cn=Barbara Jensen 。 |
通常指登录账号的邮箱地址,例如:mail=example@126.com 。 |
添加 LDAP
当您所在的企业是通过 OpenLDAP 或 Active Directory 来统一管理用户(账号)时,您可通过在平台上 添加 LDAP,将企业的 LDAP 服务对接至平台,让平台能够与 LDAP 服务器通信以允许企业用户登录平台,并在用户登录平台时对其进行身份验证。
提示:
-
添加成功后,从 LDAP 同步至平台的用户可使用企业账号登录平台。
-
如果重复添加了相同的 LDAP,LDAP 同步时,会覆盖已同步的用户。
前提条件
添加前,请提前准备好 LDAP 服务器的访问信息,包括服务器地址、用户名、密码等。
操作步骤
-
在左侧导航栏中,单击 用户角色管理 > IDP 配置。
-
单击 添加 LDAP。
-
参考以下说明,配置 基本信息、LDAP 服务器设置 参数。
参数名称 说明 服务器地址 LDAP 服务器的访问地址,例如: 192.168.156.141:31758
。用户名 LDAP 管理员账号的 DN(Distinguished Name,唯一标识名),该用户名对应的用户具有绑定、搜索和检索 LDAP 条目权限。例如: cn=admin,dc=example,dc=com
。密码 LDAP 管理员的账号的登录密码。 登录框用户名提示 显示在平台登录页的 用户名 输入框中的提示信息。例如: 请输入用户名
。 -
参考以下说明,选择 LDAP 类型 并配置 搜索设置 参数。
说明:
-
对接 LDAP 时,平台将根据 搜索设置 中的条件集及条目属性匹配 LDAP 中的用户条目(Entry),以确定授予哪些用户访问平台的权限。同时,会从 LDAP 中提取用户和组的关键属性,与平台用户的通用属性一一对应后在平台中进行统一展示,方便平台管理员查看、搜索用户或为用户授权。
-
组搜索设置,用于为已匹配到的用户匹配组属性。
例如:根据搜索设置匹配到的用户包括 User1、User2、User3,匹配到的组为 G1、G2。其中,User1、User2 属于组 G1,User3 属于组 G3,则当 User1、User2、User3 同步至平台时,User1、User2 属于 G1 用户组,User3 未分组。
参数名称 说明 对象类型 即 ObjectClass,请输入您的用户创建时使用的 ObjectClass。
用户:
- OpenLDAP 默认为inetOrgPerson
;
- Active Directory 默认为organizationalPerson
。
组:默认均为posixGroup
。登录字段 条目中,将作为用户登录平台时的 用户名 使用的属性。
- OpenLDAP:默认为mail
,即需要使用邮箱地址(例如test@example.com
)作为用户名进行登录。
- Active Directory 默认为userPrincipalName
,即使用用户主体名称(例如example@azureyun.com
)作为用户名进行登录。过滤条件 用于进一步过滤用户或组的 LDAP 过滤条件 。
例如:
(&(cn=John*)(givenName=*xq*):表示仅匹配包含 cn、givenName 属性,且 cn 属性的值以 john 开头、givenName 属性的值中包含 xq 字符的条目。
(|(givenName=John)(givenName=Jon)(givenName=Johnathan)(givenName=Jonathan)):表示将匹配包含该过滤条件中一个或多个 givenName 值的所有条目。搜索起点 用户或用户组的搜索起点。
LDAP 的数据结构为树形结构,设置搜索起点后,可以限制仅搜索起点以下的数据。
如果匹配到的用户组当中包括已经匹配到的用户,则该用户同步至平台时会同步其所属用户组的信息。
例如:dc=example,dc=org
。搜索范围 在搜索起点之后搜索用户或用户组的范围。 可选值为 sub
(搜索整个目录子树)、one
(仅搜索起点的下一层对象),默认为sub
。登录属性 条目中,用于唯一标识用户的属性。
- OpenLDAP:默认为uid
。
- Active Directory 默认为distinguishedName
。名称属性 条目中,用于指定对象名称的属性。默认为 cn
。。邮箱属性 条目中,用于指定对象邮箱的属性。
- OpenLDAP:默认为mail
。
- Active Directory 默认为userPrincipalName
。组成员属性 条目中,用于唯一标识用户组成员的属性。默认为 uid
。组属性 条目中,用于指定用户组和用户组成员关联关系的属性。默认为 memberuid
。 -
-
在 IDP 服务配置验证 区域,请输入一个能够通过上述搜索设置匹配到的 LDAP 账号的 用户名 和 密码,用于验证以上配置是否正确。
提示:
-
输入账号必须是 LDAP 中存在且能够被 搜索设置 匹配到的账号的用户名和密码。
-
用户名 必须是 搜索设置 中被设置为
登录字段
的属性的值。例如:登录字段 为mail
时,需输入用户的邮箱地址(mail1@example.com
)。
-
-
(可选)单击 高级设置,参考以下说明,配置 LDAP 自动同步策略。
提示:为 LDAP 配置自动同步策略后,平台将根据同步规则中的时间间隔在固定时间点自动触发同步操作,将搜索设置匹配到的 LDAP 用户同步至平台。用户同步成功后,可在用户列表查看已同步用户。
如果未配置自动同步策略,需要您通过执行手动同步用户操作进行同步。-
(首次配置时必填)单击 自动同步用户 滑块开关,启用自动同步功能。
-
请参考 如何设置定时触发规则? ,选择已有规则模板或设置新的同步规则。
提示:自动同步策略设置完成后不会立即同步用户,会根据依据规则中的时间间隔在固定时间点进行自动同步。可通过在 在线工具 中输入 CRON 表达式,查询接下来 7 次的自动同步时间。
-
-
单击 添加。
提示:添加成功后,在 LDAP 用户同步至平台前,搜索设置匹配到的用户即可使用 LDAP 账号登录平台。成功登录平台后,该用户的信息会被自动同步至平台。
同步 LDAP 用户
将 LDAP 用户同步至平台,同步成功后,可在用户列表查看已同步用户。
您可在 添加 LDAP 时配置自动同步策略(可更新),或在 LDAP 添加成功后在需要同步时手动触发同步,以下为您说明如何手动触发同步操作。
说明:
-
平台已对接的 LDAP 中新增的用户,在未执行同步用户操作之前,可登录平台。且成功登录平台后,该新增用户的信息会被自动同步至平台。
-
LDAP 中已删除的用户,同步后状态变为
无效
。 -
同步至平台的新用户的有效期默认为 永久。
-
同步进来的用户,和已有用户(本地用户、IDP 用户)同名时,同名用户自动关联,权限、有效期与已有用户保持一致,并且可通过各自来源对应的登录方式登录平台。
操作步骤
-
在左侧导航栏中,单击 用户角色管理 > IDP 配置。
-
单击待手动同步的 LDAP 名称。
-
单击右上角的 操作 > 同步用户。
-
单击 同步。
说明:手动关闭同步提示对话框,将会弹出确认关闭的对话框。关闭同步提示对话框后,系统仍会继续同步用户。手动关闭同步提示对话框后,如果用户仍然在用户列表页面,将会收到同步结果反馈提示;如果用户离开用户列表页面,则无法获知同步结果。
更新 LDAP
更新已添加的 LDAP 的配置信息或 LDAP 自动同步策略。
注意:LDAP 更新后,通过当前 LDAP 同步到平台的用户也会进行更新,且 LDAP 中已移除的用户,在平台用户列表中会变为无效状态。可通过清理无效用户操作来清理垃圾数据。
操作步骤
-
在左侧导航栏中,单击 用户角色管理 > IDP 配置。
-
单击待查看的 LDAP 名称。
-
单击右上角的 操作 > 更新 IDP。
-
请参考 添加 LDAP 更新相关参数。
-
单击 更新。
删除 LDAP
LDAP 删除后,通过此 LDAP 同步到平台的所有用户状态变为 无效(用户和角色的绑定关系不变),无法登录平台。在不删除 IDP 用户的前提下,再次对接后,需要重新同步才可激活用户。
操作步骤
-
在左侧导航栏中,单击 用户角色管理 > IDP 配置。
-
单击待查看的 LDAP 名称。
-
单击右上角的 操作 > 删除 IDP。
-
输入待删除 LDAP 的名称后,单击 删除。
提示:IDP 删除后,如需从平台删除通过 LDAP 同步至平台的用户和用户组,请勾选提示框下方的 清理 IDP 用户和用户组 复选框。