LDAP/AD组同步/映射是如何工作的?

约书亚汉
2023-01-22 11:09

概述

下面是关于如何将LDAP(或Active Directory)用户映射到Artifactory LDAP组的步骤和说明(通过链接)。

  1. 设置LDAP过滤器(或活动目录
  2. 设置并导入LDAP组
  3. 创建LDAP组权限规则(另请参阅设置权限目标的最佳实践
  4. 使用LDAP用户登录Artifactory。

下面是一个关于如何完成LDAP组映射的视频(在5中显示)。X版本,但概念是一样的):https://www.youtube.com/watch?v=_nT76RgXA2c

它是如何工作的?

将ldap组映射到Artifactory后,Artifactory将检查每个ldap组,通过与ldap服务器联系来查看用户是否属于该组。一旦Artifactory发现用户属于该组,它就会让用户继承由Artifactory管理员授予该组的权限。

使用LDAP组的优势是什么?

Artifactory管理员不必管理每个用户的权限。相反,Artifactory管理员只需要管理授予每个ldap组的权限,同时在ldap服务器上维护ldap组。

它在哪里搜索(如何使用搜索库)?

LDAP组设置使LDAP查询相对于所选的“LDAP设置”。因此,2 .在“LDAP组设置”页面,搜索“基础”应该相对于LDAP URL+“LDAP设置搜索库”界面例如,如果“LDAP设置”中LDAP URL为LDAP://abc,“搜索基础”为ou=users,那么LDAP组的搜索将相对于LDAP://abc/ou=users进行。

如果您在LDAP组设置中添加了Search base,则将进行搜索相对于在LDAP设置和LDAP组设置中设置的搜索基础的组合.例如,如果LDAP组使用ou=groups作为搜索过滤器,LDAP使用ou=users作为搜索过滤器,那么Artifactory将在ou=groups,ou=users下搜索组

使用静态映射策略的实例

下面的例子显示组有两个成员,kwinters而且trigden,作为组的uniqueMember属性.导入该组后,属于该组的uniqueMember属性的任何用户,并且满足LDAP设置中设置的条件,都将自动加入该组。如果组被赋予任何权限,那么用户将自动继承权限。因为这是静态映射,“PD经理”组知道它的成员;但是,用户并不知道他们所属的组。

动态映射策略使用实例

下面的示例显示,成员有一个组Domain Guests作为用户的ldap属性之一。导入此组后,任何具有LDAP属性为“memberOf”Domain Guests并满足LDAP设置条件的用户都将自动加入该组。如果组被赋予任何权限,那么用户将自动继承权限。由于这是动态映射,user, joshua,知道它属于什么组,但是组对象,Domain Guest,不知道他们的成员(虽然,Windows也有在组中使用'member'属性的交叉引用,这不是必需的)。

使用实例为导入的LDAP组分配权限目标

导入组后,您可以转到Admin => Security => groups,以确认这些ldap组显示在那里。因为它不是Artifactory的内部组,所以它会选中“外部”。正如你在下面的截图中看到的,它还没有任何权限目标。

现在,让我们创建读取权限域的客人和读取,注释,缓存权限pd经理at Admin =>安全=>权限。选择存储库后,转到Groups并根据需要分配权限。

使用实例验证权限目标

保存后。您可以使用属于pd managers ldap组的ldap用户登录,该用户将能够缓存任何远程存储库,以及从权限目标关联的任何远程和本地存储库读取数据。对于只属于域来宾组的另一个ldap用户,它将不能缓存其他用户没有缓存的任何工件,但是如果存储库属于权限目标的存储库列表,该用户仍然可以下载已经缓存或存在于本地存储库中的任何工件。

一旦用户登录到Artifactory, Artifactory管理员就可以在Admin => Security => Users =>处验证用户的组和权限,找到用户ID

附加问答

问:LDAP组的“导入”按钮是否同步LDAP组的成员?

A:不,它只是将组映射到Artifactory。只有当您在LDAP设置中启用了“自动创建构件用户”时,才能添加组成员用户至少登录Artifactory一次。另外,Artifactory从不保存ldap用户的密码。

问:我应该选择哪种映射策略?

答:这取决于您的LDAP是如何结构的。例如,如果ldap查询使用Static方法返回更小的结果,您可能会发现Static方法可以提供更快的登录体验。最终目标是找到最有效的搜索。请向您的LDAP管理员咨询建议。

故障排除技巧

  • 查看为用户找到的LDAP属性(例如运行"ldapsearch joshua"),并将其与组过滤器进行比较
  • 在Artifactory中,进入Admin =>安全=> LDAP设置=>选择并编辑您的LDAP设置=>输入测试用户名和密码=>单击“测试连接”
  • 通过在$ARTIFACTORY_HOME/etc/文件末尾添加下面的调试日志记录器来启用更多的日志logback.xml文件。启用调试日志不需要重新启动Artifactory。
    <记录器name = " org.artifactory.addon.ldap " >
    <级别值= "跟踪" / >
    < / logger >
    <记录器name = " org.artifactory.security.ldap " >
    <级别值= "跟踪" / >
    < / logger >