IDE Services Cloud Help

OpenLDAP 验证模块

LDAP 身份验证模块允许用户使用存储在目录服务中的凭据登录 Hub 及任何已连接的服务。 此身份验证模块已为 OpenLDAP 预配置。 您可以将模块配置为使用标准 LDAP 协议或通过 SSL 的 LDAPS。

OpenLDAP 验证模块不会从目录服务导入所有用户帐户。 仅当未注册用户首次登录 Hub 或连接服务时,Hub 才会创建用户帐户。

启用 LDAP 身份验证后,Hub 会针对每次登录尝试检查目录服务。 已从目录服务中移除的用户无法登录 Hub。

先决条件

如需通过 SSL 连接到目录服务,请在启用身份验证模块前导入可信的 LDAPS 服务器 SSL 证书。 如有任何介于 SSL 证书与根 CA 证书之间的中间证书,需要上传包含完整证书链的文件。

OpenLDAP 身份验证模块设置中不支持导入可信的 SSL 证书选项。 请访问 Trusted SSL Certificates (信任的 SSL 证书) 页面并在此导入证书。 有关详细信息,请参阅 可信 SSL 证书

启用 OpenLDAP 身份验证

要允许存储在目录服务中的用户登录 Hub,请启用 OpenLDAP 身份验证模块。

要启用 LDAP 身份验证:

  1. Access Management (权限管理) 部分的 Administration (行政) 菜单中,选择 Auth Modules (验证模块)

  2. 点击 New module (新模块) 按钮。

    • Select an identity provider (选择身份提供商) 对话框打开。

      选择身份提供商
  3. Select an identity provider (选择身份提供商) 对话框中,选择 OpenLDAP

    • New OpenLDAP Auth Module (新 Open LDAP 验证模块) 对话框将打开。

      新 Open LDAP 验证模块
  4. New OpenLDAP Auth Module (新 Open LDAP 验证模块) 对话框中,为以下设置输入数值:

    设置

    描述

    名称

    输入身份验证模块的名称。

    服务器

    输入目录服务的服务器地址。 如需通过 SSL 连接,将地址的协议部分更改为 ldaps

    端口

    输入用于与目录服务通信的端口号。

    • 标准 LDAP 的默认端口为 389

    • LDAPS 的默认端口为 636

    SSL

    启用此选项以通过 SSL 连接到目录服务。 在建立安全连接前,您需要导入 LDAPS 服务器的可信 SSL 证书。 具体说明请参阅 可信 SSL 证书

    搜索基准

    输入定义存储用户帐户的顶级 LDAP DN 的域组件。 例如,如果您公司的域名是 mycompany.com ,请输入顶级 LDAP DN dc=mycompany,dc=com

    此字段中存储的值将添加到 LDAP URL,不可包含不安全的字符。

    如果您使用组织单元管理用户,请为每个组织创建独立的身份验证模块。 在搜索基准中包含组织单元,以为每个模块创建唯一的 LDAP URL。 LDAP 身份验证模块不支持在 LDAP 树中递归搜索。

  5. 点击 Create (创建) 按钮。

    • OpenLDAP 验证模块已创建。 模块的当前状态显示在标题中的模块名称旁。

    • Auth Modules (验证模块) 页面显示 OpenLDAP 验证模块的设置。 模块已根据您在 Add Module (添加模块) 对话框中提供的信息预配置了标准设置。 有关此页面上设置的更多信息,请参阅 设置部分。

      Open LDAP 验证模块

完成设置:

  1. 配置身份验证模块的可选设置。 如需详细信息,请参阅 其他设置

  2. 点击 Save (保存) 按钮以应用设置。

  3. 点击 Enable (启用) 按钮。

    • OpenLDAP 验证模块已启用。

    • Button image (按钮图像) 设置中存储的图标会添加到登录对话框。 用户可以点击该图标,使用其 OpenLDAP 凭据登录 Hub。

测试到目录服务的连接

要验证 OpenLDAP 身份验证模块是否已连接到您的目录服务,请测试连接。

要测试连接:

  1. 点击 Test login (测试登录) 按钮。

  2. Test Authentication (测试身份验证(Authentication)) 对话框中,输入存储在目录服务中的用户的凭据:

    • 用户名 字段中输入 domainusername

    • 密码 字段中输入 password

  3. 点击 Test login (测试登录) 按钮。

    • Hub 会在目录服务中搜索指定的用户帐户。 如果找到该用户,则会显示成功通知。 如出现错误,请检查您的用户凭据和服务器 URL。

设置

使用以下设置可对与目录服务的连接进行微调。

字段

描述

类型

显示已为第三方身份验证在 Hub 中启用的目录服务类型。

名称

存储身份验证模块的名称。 使用此设置将该模块与 Auth Modules (验证模块) 列表中的其他身份验证模块区分开。 该名称也会在登录表单支持的身份验证提供商列表中显示。

服务器 URL

存储用于在 Hub 中验证登录请求的目录服务的 LDAP URL。

LDAP URL 使用格式 ldap://host:port/DN。 输入存储用户帐户目录的完整识别名称(DN)。

SSL 密钥

选择 SSL 密钥以便将 Hub 安装的身份验证给目录服务。 只有当您的目录服务需要客户端 SSL 身份验证时,才需使用此设置。 有关在 Hub 中管理密钥的更多信息,请参阅 SSL 密钥

绑定账号

确定用于 LDAP 绑定请求的帐户。 如需详细信息,请参阅 绑定账户选项

绑定 DN

存储用于与目录服务绑定的值。 如需详细信息,请参阅 绑定账户选项

筛选

存储用于在 LDAP 服务中定位特定用户记录的表达式。 表达式中的替换变量会被登录页面输入的用户名或邮箱替换。

LDAP 转介

确定在 LDPA 验证模块中忽略还是跟随来自服务的请求,以在 LDPA 目录中查找其他信息。

  • 如果您的目录服务将映射到 Hub 个人资料的属性存储在不同分区,请启用 Follow (关注) 选项。

  • 当用户身份验证无需重定向时,启用 Ignore (忽略) 选项以提升性能。

LDAP 账户状态

确定在连接的目录服务中删除具有相应凭据的帐户时,Hub 中是否更新用户帐户状态。

  • 如帐户在目录服务中被删除,Hub 帐户将被禁止,且相应凭据将从 Hub 帐户中移除。

  • 在连接目录服务中恢复帐户时,Hub 帐户不会自动解除禁用。 需在 Hub 中手动更新状态。

此设置可用的选项如下:

选项

描述

忽略

Hub 帐户和连接目录服务管理的帐户状态相互独立。

前进

当启用时,连接目录服务中帐户的状态会在登录或同步时转发到 Hub。

仅当身份验证模块的 Bind account (绑定账号) 设置为 Fixed (已修正) 时,此设置才可用。

Synchronization (同步) 设置为 On (开) ,则帐户状态会在预定间隔内更新。 否则,只有用户尝试通过 Hub 使用 OpenLDAP 帐户登录应用时,帐户状态才会同步。

同步

确定与目录服务同步用户账户凭据和组成员资格的频率。 您可以从三种预定义的间隔中选择:

  • 每天早晨 9 点

  • 每 3 小时

  • 每小时

您还可以随时点击 Synchronize now (立即同步) 按钮,手动将 Hub 数据库与目录服务同步。

首次创建用户帐户(通常是新用户使用 Okta 帐户登录 Hub 时)时,Hub 个人资料中存储的 Full Name (完整名称)Username (用户名)Email (电子邮件) 的数值会被填写。 之后在 Okta 个人资料中对这些属性的更改不会同步到 Hub 个人资料。 这些更改会同步到其 Okta 凭据相关联的相应属性。 这些信息显示在 Hub 个人资料中 Credentials (凭据) 部分的 Account Security (账户安全) 选项卡中。

此同步适用于在 Attribute Mapping (属性映射) 设置中配置的属性,以及在 Group Mappings (群组映射) 选项卡中配置的组成员资格。 有关详细信息,请参阅 属性映射群组映射

同步为 Off (禁用) 时,组成员资格和帐户状态仍会在用户登录时按用户同步。 如需了解此功能,请参阅 群组映射

Synchronization (同步) 选项仅在 Bind account (绑定账号) 设置为 Fixed (已修正) 时可用。 这允许 Hub 代表绑定帐户所有者搜索目录服务。

只有在身份验证模块为 Enabled (启用) 时,同步功能才会激活。

绑定账户选项

您可以通过两种方式之一配置模块在 LDAP 服务上执行绑定请求。 所用方法取决于所选 Bind account (绑定账号) 设置的选项。

您为 Bind DN (绑定 DN) 设置使用的值依赖于为 Bind account (绑定账号) 设置所选的选项。 请根据以下指南设置 Bind DN (绑定 DN) 设置的值:

选项

描述

绑定 DN 设置指南

已修正

使用固定帐户绑定至 LDAP 服务,并代表绑定用户搜索要验证身份的用户。 通过此方式,您可以设置 LDAP 身份验证模块,并仍然使用非 DN(识别名)的登录名,如电子邮件地址或令牌。 此方法通常也称为 搜索 + 绑定两步验证

要使用此方法,您需要在目录服务器上具有查找其他用户帐户权限的专用帐户。

输入您要用于 LDAP 绑定请求的用户帐户完整 DN。 此帐户必须具备查找目录服务中其他用户帐户的权限。

使用 Change password (修改密码) 控件将此账户的密码存储在 Hub 中。 绑定用户的密码会以明文值的加盐哈希形式存储。

动态

从登录信息派生用户DN,并尝试以该用户身份直接绑定到LDAP服务。 此方法通常也被称为 直接绑定

使用查询绑定到目录服务。 此查询用于查找要进行身份验证用户的识别名。 使用表达式引用用户名。 该表达式将替换变量映射到目录服务中存储用户名的属性。 您选择的属性决定了筛选字符串中使用哪个查询。

在登录页输入的用户名会在替换变量前进行修剪。 如果用户指定了域,则该域会被丢弃。 例如,用户名为 WORKGROUP\smith 的值会被修剪为 smith。 如需指定域,请将域名作为静态值输入。 例如, WORKGROUP\%u

属性映射

当 Hub 在 LDAP 服务中找到与筛选器匹配的记录时,会从为每个字段指定的 LDAP 属性中获取值,并将其复制到 Hub 用户资料中。 请使用以下设置来定义筛选条件,并将目录服务中存储的属性映射到 Hub 用户账户。

字段

描述

用户名

必填。 映射到存储在 Hub 资料 Username (用户名) 字段中的 LDAP 属性。 对于 OpenLDAP,默认值为 uid

全名

映射到存储在 Hub 资料 Full name (全名) 字段中的 LDAP 属性。

电子邮箱

映射到存储在 Hub 资料 Email (电子邮件) 字段中的 LDAP 属性。

VCS 用户名

映射到存储在 Hub 资料 VCS username (VCS 用户名) 字段中的 LDAP 属性。

分组

映射到连接目录服务中存储组成员分配的 LDAP 属性。

指定此值后,您可以将目录服务中的组成员关系与 Hub 中对应组进行映射与同步。 有关详细信息,请参阅 群组映射

帐户已过期

映射到连接目录服务中存储账户过期日期的 LDAP 属性。

帐户已禁用

映射到连接目录服务中存储用户账户被禁用日期的 LDAP 属性。

锁定阈值

映射到存储用户在账户被锁定前允许失败登录次数的 LDAP 属性。

锁定时间

映射到因超过最大锁定阈值而阻止账户时存储日期和时间的 LDAP 属性。

锁定持续时间

映射到用户在超过锁定阈值后被禁止登录账户的时间长度的 LDAP 属性。

其他设置

以下选项位于页面底部。 使用这些设置可管理 Hub 帐户创建、组成员关系和连接选项。

选项

描述

用户创建

启用为使用连接目录服务中账户登录的未注册用户创建 Hub 帐户。 Hub 使用电子邮件地址来确定用户是否已有账户。

所有 LDAP 身份验证模块都必须允许创建用户。 如果拒绝用户创建,未注册用户将看到错误信息。

自动加入组

当用户使用连接目录服务中的账户登录时,将其添加到某个组。 您可以选择一个或多个组。 自动加入组的新用户将继承该组的所有权限。

建议您至少将用户添加到一个组。 否则,新用户仅会获得当前分配给 All Users (所有用户) 组的权限。

连接超时

设置等待建立到授权服务连接的时间。 默认设置为 5000 毫秒(5 秒)。

读取超时

设置等待从授权服务读取和检索用户资料数据的时间。 默认设置为 5000 毫秒(5 秒)。

审核

链接到 Hub 的 Audit Events (审核事件) 页面。 在这里,您可以查看应用于该身份验证模块的更改列表。

群组映射

Group Mappings (群组映射) 标签页中,您可以将 LDAP 服务中的现有组映射到 Hub 中的组。

组映射 Open LDAP

若要将 LDAP 组映射到 Hub 组,需在该身份验证模块设置的 Attribute Mapping (属性映射) 部分中指定用于存储 LDAP 组成员关系的 Groups (分组) 属性。

配置组映射后,Hub 会在用户使用目录服务管理的账户登录时,检查其在 LDAP 中的组成员关系。 Hub 针对每个映射到 Hub 组的 LDAP 组执行以下操作:

  • 属于映射的 LDAP 组但不属于映射 Hub 组的用户会被添加到 Hub 组中。

  • 不属于映射 LDAP 组但属于映射 Hub 组的用户将从该 Hub 组移除。

此行为基于当前 Synchronization (同步) 设置的值。

  • Synchronization (同步) 设置为 On (开) 时,这些操作会按设定计划自动执行。

  • Off (禁用) 时,只有用户使用 OpenLDAP 身份验证模块登录时,目录服务中对组成员关系的更改才会同步到 Hub。

    仅当 Bind account (绑定账号) 选项为 Fixed (已修正) 时支持定时同步。 如果 Bind account (绑定账号) 选项为 Dynamic (动态) ,则只有用户登录时才会同步组成员关系。

您可以将多个 LDAP 组映射到 Hub 中的一个目标组。 不能将 LDAP 组映射到多个 Hub 组。

要将 LDAP 组映射到 Hub 组:

  1. 打开您的 OpenLDAP 身份验证模块。

  2. 选择 Group Mappings (群组映射) 标签页。

  3. 点击 Add mapping (添加映射) 按钮。

    • Add Mapping (添加映射) 对话框将打开。

    添加 Open LDAP 组映射
  4. LDAP group name (LDAP 组名) 字段中输入 LDAP 组名称。

    • 如果 Bind account (绑定账号) 选项设置为 Fixed (已修正) ,身份验证模块将使用绑定账号查找目录服务中的组。 可用的组会在 LDAP group name (LDAP 组名) 列表中显示。

    • 如果 Bind account (绑定账号) 选项设置为 Dynamic (动态) ,则绑定账号无法获取目录服务中的组列表。 要成功映射一个组,必须准确输入该组在目录服务中的完整 DN。

  5. Target group (目标组) 列表中选择组。

  6. 点击 Add (添加) 按钮。

    • 该映射将被添加到列表中。

操作

标题栏中可用的操作如下:

操作

描述

设为默认

将此身份验证模块指定为当前安装的默认模块。 每次只能设置一个身份验证模块为默认值。 如果目前有另一个模块设置为默认,则该状态会被清除。

当前身份验证模块不是默认时,此选项才会显示。

清除默认

移除此身份验证模块的默认状态。

如果没有任何身份验证模块被设置为默认,未认证用户将始终被引导到 Hub 登录页面。

当前身份验证模块为默认时,此选项才会显示。

禁用模块

禁用身份验证模块。

身份验证模块当前已启用时,才显示此选项。

启用模块

启用身份验证模块。

身份验证模块当前已禁用时,才显示此选项。

测试登录

允许您输入用户名和密码,以测试与身份验证服务的连接。

删除模块

将身份验证模块从 Hub 中移除。 仅在您已配置有允许用户登录 Hub 的其他身份验证模块时使用。

示例配置

使用以下模式通过 LDAP 协议配置 OpenLDAP 身份验证模块:

设置

服务器 URL

ldap://ldap.company.com:389/dc=company,dc=com

绑定 DN

uid=%u,dc=company,dc=com

筛选

uid=%u

使用以下模式通过 SSL 安全连接配置 OpenLDAP 身份验证模块:

设置

服务器 URL

ldaps://ldap.company.com:636/dc=company,dc=com

绑定 DN

uid=%u,dc=company,dc=com

筛选

uid=%u

疑难解答

如果遇到此身份验证模块的问题,请检查以下条件是否适用。

条件 — 组成员关系未能正确同步到目录服务,或同步不一致。

原因

解决方案

Hub 用户账户存储有多个由目录服务管理的账户凭据。 连接目录服务中的这些账户属于不同的组集合。

如果某个 Hub 用户有多个由连接目录服务管理的账户,组成员同步可能表现异常。 同步作业会首先应用它发现的第一个账户的成员分配,然后若后续账户出现不同分配会随之更新。

可以通过以下任一解决方案解决此问题:

  • 删除连接目录服务中未使用或不必要的账户,然后使用 Hub 中的 Synchronize now (立即同步) 选项。 这会从 Hub 个人资料中移除不必要的凭据,并同步账户成员关系到仅剩的目录服务账户。

    这是推荐的解决方法。

  • 关闭同步设置并移除 Hub 账户中的不必要凭据。 可通过界面或 REST API 手动移除凭据。

  • 从 Hub 账户中删除所有来自连接目录服务的登录信息。 如果连接账户的电子邮件与 Hub 保持一致,用户下次使用该账户登录时会恢复活动账户凭据。 组成员分配将会自动同步。

2026年 3月 16日