配置 LDAP/Active Directory 身份验证

如果您选择 LDAP/AD 身份验证,凭据存储在外部 LDAP 或 AD 服务器中的用户可以直接登录 Harbor。在这种情况下,您无需在 Harbor 中创建用户帐户。

仅当数据库中没有添加本地用户时,您才可以更改身份验证模式从数据库到 LDAP。如果 Harbor 数据库中存在除 admin 之外的至少一个用户,则无法更改身份验证模式。

由于用户由 LDAP 或 AD 管理,因此在 LDAP/AD 身份验证模式下不支持自助注册、创建用户、删除用户、更改密码和重置密码。

如果您想使用 LDAP 组管理用户身份验证,则必须在 LDAP/AD 服务器上启用 memberof 功能。启用 memberof 功能后,当组实体的 member 属性更新时(例如,通过从 LDAP/AD 组添加或删除 LDAP/AD 用户),LDAP/AD 用户实体的 memberof 属性也会更新。Active Directory 中默认启用此功能。有关如何在 OpenLDAP 中启用和验证 memberof 叠加层的信息,请参阅此技术说明

  1. 使用具有 Harbor 系统管理员权限的帐户登录 Harbor 界面。

  2. 在**管理**下,转到**配置**并选择**身份验证**选项卡。

  3. 使用**身份验证模式**下拉菜单选择 **LDAP**。

    LDAP authentication

  4. 输入 LDAP 服务器的地址,例如 ldaps://10.162.16.194

  5. 输入有关 LDAP 服务器的信息。

    • **LDAP 搜索 DN** 和 **LDAP 搜索密码**:当用户使用其 LDAP 用户名和密码登录 Harbor 时,Harbor 使用这些值绑定到 LDAP/AD 服务器。例如,cn=admin,dc=example.com

    • **LDAP 基础 DN**:Harbor 在 LDAP 基础 DN 条目下查找用户,包括子树。例如,dc=example.com

    • **LDAP 过滤器**:用于搜索 LDAP/AD 用户的过滤器。例如,objectclass=user

    • **LDAP UID**:用于将用户与用户名匹配的属性,例如 uidcn。如果找到匹配项,则通过向 LDAP/AD 服务器发送绑定请求来验证用户密码。

    • **LDAP 范围**:搜索 LDAP/AD 用户的范围。从**子树**、**基础**和**单层**中选择。

      Basic LDAP configuration

  6. 如果您想使用 LDAP 组管理用户身份验证,请配置组设置。

    • **LDAP 组基础 DN**:从中查找 LDAP/AD 中组的基础 DN。例如,ou=groups,dc=example,dc=com。启用 LDAP 组功能后,此字段不能为空。

    • **LDAP 组过滤器**:用于搜索 LDAP/AD 组的过滤器。对于 OpenLDAP:objectclass=groupOfNames。对于 Active Directory:objectclass=group。启用 LDAP 组功能后,此字段不能为空。

    • **LDAP 组 GID**:用于命名 LDAP/AD 组的属性。例如,cn。启用 LDAP 组功能后,此字段不能为空。

    • **LDAP 组管理员 DN**:此组 DN 中的所有 LDAP/AD 用户都具有 Harbor 系统管理员权限。

    • **LDAP 组成员关系**:用于标识用户为组成员的用户属性。默认情况下为 memberof

    • **LDAP 范围**:搜索 LDAP/AD 组的范围。从**子树**、**基础**和**单层**中选择。

      LDAP group configuration

    • **LDAP 组并行附加**:启用此选项以并行附加组,以避免在用户登录时因与 LDAP 用户关联的组太多而超时。

      LDAP group attached in Parallel

  7. 如果 LDAP/AD 服务器使用自签名或不受信任的证书,请取消选中**LDAP 验证证书**。

    LDAP certificate verification

  8. 单击**测试 LDAP 服务器**以确保您的配置正确。

  9. 单击**保存**以完成配置。