管理 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 用户和用户组 复选框。