LDAP

ServiceDesk Plus 允许您使用轻量级目录访问协议 (LDAP) 通过域控制器从用户目录中导入用户。LDAP 允许用户在登录 ServiceDesk Plus 时使用其 LDAP 凭据。  LDAP 身份验证同时支持 Linux 和 Windows 用户。

 

所需角色: SDAdmin

 

要在非 ESM 设置中配置与 AD 相关的设置,请转到 管理员 > 用户 > LDAP

配置域控制器 

要导入用户并设置 LDAP 身份验证,您必须先为导入的域配置域控制器

在 LDAP 配置页面中,单击“域控制器”块下的添加新域。使用以下说明配置域控制器:
 

字段名称

说明

域控制器*

指定要从中导入用户的域的域控制器。域控制器会响应相关域内所有与安全相关的身份验证请求。

  • URL 语法如下: ldap://<服务器名称>:<端口号>,其中默认端口为 389。
  • 要以安全模式连接 LDAP,请使用以下 URL:ldaps://hostname:636,其中默认端口为 636。

用户名

在给定字段中输入您的 Active Directory 用户名以及组织单位 (OU)。

用户名 - 用户的 distinguishedName

示例:

CN=sdp,DC=domainname,DC=com

CN=sdp,OU=UsersOU,DC=domainname,DC=com

密码

指定用于登录 Active Directory 的密码。

基本 DN*

基本 DN 表示基础 OU 的可分辨名称。

基本 DN - OU/容器的distinguishedName。组织单位以“OU=”开头,容器以“CN=”开头

示例

OU=UsersOU,DC=domainname,DC=com

OU=SDPOU,OU=UsersOU,DC=domainname,DC=com

CN=Users,DC=domainname,DC=com

搜索筛选器*

搜索筛选器字段中,指定要应用于域控制器的条件。例如:mail=* 将从指定域控制器中的 mail 参数导入用户。

LDAP Server类型*

如果您已选择默认 LDAP 的Server类型,例如 Microsoft Active DirectoryNovell eDirectoryOpenLDAP,则以下字段将自动填充。

如果 LDAP Server类型为 其他,则请在相应字段中指定登录属性标签邮件属性标签可分辨名称属性标签(类似于基本 DN)。

* 表示必填字段

distinguishedName

  • 这些值应直接从 LDAP Server中复制,并在配置 LDAP 时使用。不建议手动构造 distinguishedName 

  • 对于 AD,需要从对象属性中复制 distinguishedName 属性。对于其他 LDAP Server类型,该属性名称可能是 dN 或 entryDN。

  • 在 AD 中查找 distinguishedName

    转到 AD Server并打开“Active Directory 用户和计算机”。转到用户或 OU 对象所在的容器,右键单击该对象,然后选择“属性”。在“属性编辑器”选项卡中,滚动列表并找到 distinguishedName 属性。

    注意:如果属性编辑器选项卡不可用,请从查看 > 高级功能中启用它。

搜索过滤器

  • 导入 Base DN 内的所有用户
 
(&(objectClass=User)(objectCategory=person))

这应作为搜索过滤器的一部分,以便仅从 LDAP 服务器导入用户对象。任何特定条件都应添加到此过滤器中。

 

  • 导入具有邮件 ID 的用户
 
(&(objectCategory=Person)(objectClass=User)(mail=*))

'mail' 是 LDAP 服务器中的属性名称,也可以替换为具有相同用途的其他属性名称。

  • 导入在 AD 中未被禁用的用户
 
(&(objectCategory=Person)(objectClass=User)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

 

  • 从特定组导入用户

单个组

 
(&(objectClass=user)(objectCategory=person)(memberOf=CN=Group1,OU=TestOU,DC=manageengine,DC=com))

多个组

 
(&(objectClass=user)(objectCategory=person)(|(memberOf=CN=Group1,OU=TestOU,DC=manageengine,DC=com)(memberOf=CN=Group2,OU=TestOU,DC=manageengine,DC=com)))

上述查询中的“memberOf=”后应跟随组的 DistinguishedName。

 

单击保存保存并导入。您还可以在相应的域控制器上单击立即导入,从现有域中导入用户。从同一域导入用户时,现有数据将被覆盖。

导入用户后,您可以从 LDAP 配置中配置身份验证并安排导入计划。
 


您可以从“域控制器”表中编辑/删除域控制器:

  • 单击域控制器名称可对其进行编辑。
  • 从表中选择域控制器,然后单击 图标。请注意,从已删除域控制器导入的用户之后将无法再使用 LDAP 凭据登录到application。

设置本地身份验证密码 

您可以为通过 LDAP 导入的用户设置默认的本地身份验证密码。用户可在首次登录后更改此密码。

您可以在安全设置中强制用户在首次登录后更新默认密码。

要从 LDAP 配置页面设置本地身份验证密码,请执行以下操作:

  1. 将鼠标悬停在本地身份验证密码字段上,然后单击编辑
  2. 您可以选择为每位用户生成随机密码,或为所有用户设置预定义密码。
  3. 单击保存
确保预定义密码满足密码策略的所有要求。

 

 

用户将在其登录电子邮件中收到有关其密码的通知。您可以通过管理员 > 服务台定制器 > 通知规则 > 请求 > 发送自助服务登录详细信息为用户配置电子邮件通知。

计划 LDAP 导入 

您可以按固定时间间隔计划 LDAP 导入,以使您的用户存储库与 LDAP 服务器保持同步。计划 LDAP 导入后,application中所有已配置的 LDAP 服务器中的数据将按指定的天数间隔导入一次。LDAP 中所有可用域的用户及用户详细信息都会同步到 ServiceDesk Plus。

  1. 将鼠标悬停在LDAP 计划字段上,然后单击编辑
  2. 启用每隔一次计划 LDAP 导入选项,并指定导入周期。
  3. 指定开始计划的日期和时间。
  4. 单击保存

 

在开始日期和时间之后,系统将按照指定的天数周期定期导入各域中的用户详细信息。在同一域内进行连续导入时,现有数据将被覆盖。

 

 

LDAP 身份验证 

您可以允许用户使用其 LDAP 凭据登录 ServiceDesk Plus。

  1. 导入用户后,将鼠标悬停在LDAP 身份验证复选框上。
  2. 单击编辑
  3. 选中启用 LDAP 身份验证复选框。
  4. 单击保存

 

在登录界面中,用户可以输入其 LDAP 登录凭据,并选择以登录 ServiceDesk Plus。他们还可以在登录时从下拉列表中选择本地身份验证并输入本地凭据,以绕过 LDAP 身份验证。

对于 Windows 用户,如果启用了 LDAP 身份验证,AD 身份验证将自动被禁用。

导入用户自定义字段

您可以导入默认用户属性,例如登录名、可分辨名称和域名字段。其他用户属性(如电话、手机、部门、办公室、jobTitle 和电子邮件)会映射到 sdldapfieldmap 表中的 LDAP 属性。 

例如,要将员工 ID字段映射到目录(例如 AD 或 openLDAP)的 employeeID 属性,您需要执行以下操作:

在数据库服务器中执行以下插入查询,在 sdldapfieldmap 表中插入一行:

insert into sdldapfieldmap values (7, null, 'employeeid', 'employeeID', true);

 

请注意,ID 列为 7,因为默认情况下已有 6 条记录。


要启用导入 SDLdapFieldMap 中已存在但当前未激活的字段,请按以下步骤操作:

1. 运行以下更新查询以启用导入:

UPDATE sdldapfieldmap SET import = true WHERE id = <字段的 ID>;


2. 要查找 <字段的 ID>,请执行以下 select 查询:

SELECT * FROM sdldapfieldmap;


3. 在查询结果中,找到所需字段,并从 ID 列中复制其值。将更新查询中的 <字段的 ID> 替换为该值。
4. 执行更新查询后,重启application服务,使更改生效

只有“import”列值为“true”的字段才会被导入。


LDAP 字段名称不区分大小写,但 ServiceDesk Plus 字段名称区分大小写。请确保您使用的字段名称大小写与下方列表中显示的一致。

字段名称

phone

mobile

department

office

jobTitle

email

employeeid

firstName

middleName

lastName

ReportingTo

displayname

 

若要导入更多其他附加字段,例如用户定义字段,SDAdmin 或具有数据库访问权限的用户可以在 sdldapfieldmap 表中将API 字段名称 映射到相应的 LDAP 属性。

例如,要将用户定义字段 Company 映射到目录中的 Comapny 属性,必须使用以下插入查询在 sdldapfieldmap 表中插入一行:

insert into sdldapfieldmap values (8, null, 'udf_pick_1', 'company', true);

 

API 字段名称 将列在 管理 >> 用户附加字段 下对应列中。

 

执行查询后重启服务器。然后,从 LDAP 服务器导入用户。

 

以安全 LDAPS 模式连接 ServiceDesk Plus

必须导入自签名证书,才能以安全模式连接 LDAPS。

 

生成 LDAPS 证书的步骤:

  • 点击下方对应的链接下载 zip 文件。
  • 将文件解压到 ManageEngine\ServiceDesk
  • 打开命令提示符并进入 ManageEngine\ServiceDesk
  • 按以下格式运行批处理文件:
    • 适用于 Windows:
C:>ManageEngine\ServiceDesk>gencert.bat <服务器名称>:<端口号>
  • 适用于 Linux: 
ManageEngine\ServiceDesk>gencert.sh <服务器名称>:<端口号>
  • 运行该命令后,会抛出一个 PKIX 异常,并提示您输入一个值。请输入 1,随后将生成一个名为 jssecacerts 的文件。该文件将保存在 ManageEngine\ServiceDesk 中。
  • 将该文件复制到 ManageEngine\ServiceDesk\jre\lib\security,并重新启动application
  • 再次保存 LDAPs 配置。