如何将HTTP单点登录用户映射到LDAP组?

JFrog支持
2017-07-14 21:35

可以将LDAP组映射到单点登录用户Artifactory用户插件.使用这个插件的完整过程如下:

<设置LDAP & LDAP组>

设置并启用ArtifactoryLDAP和LDAP组使用这个解决方案(需要Jfrog支持门户登录)。导入LDAP组。

<修改用户插件> .

  1. 下载的SynchornizeLDAPGroups'用户插件,并把它放在你的$ARTIFACTORY_HOME/etc/plugins(或$CLUSTER_HOME/etc/plugins如果你使用Artifactory 4。高可用性x)
  2. 取代“Il-users”与LDAP组SETTING的名称(不是导入的组)
  3. 在“myrelms”内部,添加以下一行到插件中,仅用于调试:log.debug“用户”+用户名+“有以下组”+组
  4. 将以下日志添加到$ARTIFACTORY_HOME/etc/logback.xml文件中(不需要重新启动):
       .
  5. 添加用户插件后运行插件重载rest API或重新启动Artifactory。

<使用实例验证同步>

  1. 为了检查单点登录用户是否在LDAP组中获得了正确的组,需要一个名为“shayy”的现有用户。你可以看到这个用户在Artifactory中不存在:
  2. 我已经导入了LDAP组,我希望用户获得其权限。在本例中,和在插件中一样,我们使用了' il-users '。我已经导入了两个组,它们是“il-users”的一部分。
  3. 在Artifactory中有了这些组之后,我就创建了一个简单的SSO配置,这样就可以对用户进行身份验证并同步该用户拥有的LDAP组。这意味着一旦我使用这个SSO用户登录,插件就会给它这个用户在LDAP上拥有的组。
  4. 执行如下rest命令:curl -i -H "REMOTE_USER:shayy"https://localhost:8081/artifactory/api/system/ping
    如您所见,这将为SSO提供它所期望的头,以便对用户进行身份验证。
  5. 这样做之后,就创建了具有默认权限的用户。
  6. 如果您访问artificial。log,您将能够看到,尽管UI没有显示它,但我们添加的调试行将向您显示用户是组的一部分,就像他在LDAP服务器上一样。看到ArtifactoryLogAfterSSO.png。这是因为插件会在每个会话中添加权限,而不是作为一个固定的groupsper用户。
  7. 如果您尝试使用这个用户在LDAP服务器上拥有的权限,它将成功,因为插件将这些组权限附加到这个用户。