
# 配置LDAP认证源
#### 概述
LDAP（Lightweight Directory Access Protocol），即轻量目录访问协议。
它是一种树状结构的组织数据，可以简单理解成一个存储用户和组织信息的树形结构数据库。单点登录是LDAP的主要使用场景之一，即用户只在公司计算机上登录一次后，便可以自动在公司内部网上登录。
表1主要术语 
| 术语  | 说明                                        |
|:---|:---|
| ou  | 全称 Organization Unit，组织单位，即容器对象。          |
| dc  | 全称 Domain Component，域名的部分，格式是将完整的域名分成几部分。 |
| sn  | 全称 Surname，姓。                             |
| cn  | 全称 Common Name，公共名称。                      |
| dn  | 全称 Distinguished Name，唯一标识名。              |
| uid | 全称 User ID，用户ID。                          |
| rdn | 全称 Relative dn，相对辨别名，类似文件系统中的相对路径。        |
   
为方便企业用户的认证登录，OneAccess通过LDAP协议把认证指向LDAP，LDAP通过认证后，根据LDAP返回的用户属性与IDaaS用户关联属性做匹配校验，验证通过即可登录OneAccess。
本章节为您介绍配置LDAP认证源的相关操作。
#### 前提条件
请确保您已拥有OneAccess管理门户的访问权限。
 #### 搭建LDAP服务器
1. 通过[ForgeRock官网](https://www.forgerock.com/)下载Directory Services安装包。
2. 部署LDAP服务，具体可参考ForgeRock平台的帮助文档。
 
 #### 配置LDAP连接
1. 下载并安装ApacheDirectoryStudio（LDAP客户端工具）。
2. 选择"LDAP \> New Connection"，创建连接并填写参数。 
   图1创建Connection   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001517843480.png)
   
   
3. LDAP添加账号。
   
   图2查看用户   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001569002521.png)
   
   
 
 #### 在OneAccess中添加LDAP认证源
LDAP主要有三种认证模式，包括DN认证模式、查询认证模式和组合模式。
- DN认证模式：选择该模式代表清楚用户的DN规则，如（uid=**\*** \*，ou=people，dc=example，dc=com），只需配置用户DN模式即可。
  图3DN认证模式   
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002143991961.png) 

- 查询认证模式：选择该模式，需配置LDAP的管理员账号和密码，并且配置查询条件。认证时，使用LDAP管理员账号，根据配置的查询条件和输入的用户名查询用户，查到用户后，取用户的DN，在LDAP中验证用户的DN和密码。
  图4查询认证模式   
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001518322616.png) 
- 组合模式：该模式是DN认证模式+查询认证模式的组合，该模式下DN模式优先。
  图5组合模式   
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001569122901.png) 
以下主要介绍配置LDAP组合认证模式的方法。
1. 登录OneAccess管理门户。
2. 在导航栏中，选择"认证 \> 认证源管理"。
3. 选择"企业认证源 \> LDAP"。
4. 在LDAP认证源页面，单击右上方"添加认证源"，配置参数。 
    表2配置参数 
   | 参数       | 是否必填 | 说明                                                                                                                                              |
   |:---|:---|:---|
   | 显示名称     | 是    | 认证源的显示名称，支持自定义。如LDAP认证。                                                                                                                         |
   | LDAP地址   | 是    | LDAP连接地址。格式为ldap://{hostname}:{port}/，其中，{hostname}为LDAP服务器地址，{port}为LDAP端口号，默认为389。可参考[搭建LDAP服务器]。 |
   | Base DN  | 是    | LDAP目录的根节点，会到该节点下认证用户。 格式为dc=,dc=。可参考[搭建LDAP服务器]。                                                   |
   | 管理员DN    | 否    | 管理员的标识名，默认cn=Directory Manager。                                                                                                                 |
   | 管理员密码    | 否    | LDAP服务中管理员账户的密码。                                                                                                                                |
   | 用户查询Base | 否    | 用户的baseDN，系统默认"ou=People"。                                                                                                                      |
   | 用户查询条件   | 否    | LDAP中匹配系统用户的过滤条件，系统默认"(\&(objectClass=user)(uid={0}))"，详细请参考[LDAP过滤器](https://ldap.com/ldap-filters/)。基于条件的查询优先级低于基于DN的查询。                      |
   | 用户DN模式   | 否    | LDAP用户的搜索路径，系统默认"uid={0},ou=people"。用户DN模式查询优先。                                                                                                 |
   | 关联源属性    | 是    | LDAP用户名属性，系统默认"uid"，可在[3]中获取。                                                                             |
   | 关联用户属性   | 是    | LDAP在系统中映射的用户属性，唯一且为文本类型。可在下拉框选择。                                                                                                               |
   | 未关联用户时   | 是    | 登录成功后，如未关联到系统用户，可以根据系该配置操作。                                                                                                                     |
      
   如果您需要同时映射其他属性，如用户名，可以设置"**未关联用户时** "为"**自动创建用户** "，通过"添加映射"完成。可参考[表3]。
    表3映射参数 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 用户属性名 | LDAP对接OneAccess的映射属性，可在下拉框选择。                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 映射类型  | OneAccess与LDAP之间用户属性的映射方式，可在下拉框选择。 说明： - 当选择"映射类型"为"认证源属性"时，需要同时输入"认证源属性名"。  - 当选择"映射类型"为"固定属性值"时，需要同时输入"固定属性值"。  - 当选择"映射类型"为"脚本转换"时，需要同时输入"脚本内容"。   |
      
   
   
 
