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

JFrog支持
2023-01-22还剩11分08秒

可以将LDAP组映射到SSO用户人工用户插件。使用这个插件的完整过程如下:

<设置LDAP和LDAP组>

设置并启用ArtifactoryLDAP和LDAP组使用这个解决方案

<修改用户插件>

  1. 下载SynchornizeLDAPGroups'用户插件,并将其放在$ARTIFACTORY_HOME/etc/plugins(或$CLUSTER_HOME/etc/plugins,如果你正在使用高可用性)
  2. 取代“il-users”,其中包含已导入Artifactory的LDAP组的名称
  3. 在"myrelms"中,添加以下行到插件中,仅用于调试目的:log.debug“美国“+用户名+”有以下组“+组”
  4. 将以下日志添加到$ARTIFACTORY_HOME/etc/logback.xml中:没有必要重启)

    1

    2

    3.

    < 日志记录器 名字 = “synchronizeLdapGroups” >

    <水平价值=“调试”/>

    日志记录器>

  5. 添加用户插件后,运行插件重载rest API或重新启动Artifactory。

<使用示例验证同步>

  1. 为了检查SSO用户是否获得了他/她在LDAP组中拥有的正确组,需要使用一个名为“shayy”的现有用户。你可以看到这个用户在Artifactory中不存在:

  2. 我已经导入了LDAP组,我希望用户获得它的权限。在这个例子中,我们使用了' il-users '。我导入了两个组,它们是“il-users”的一部分。

  3. 在Artifactory中有了这些组之后,我就创建了一个SAML SSO配置,这样我就可以对用户进行身份验证,并同步该用户拥有的LDAP组。意思是一旦我就会登录使用这个SAML SSO用户,插件将为它提供该用户在LDAP上拥有的组。
  4. curl -i -u shayy . sh命令如下所示http://localhost:8081/artifactory/api/system/ping
  5. 这样做之后,用户就被创建为具有默认权限的用户。
  6. 如果您转到artifact .log,您将能够看到这一点,尽管UI没有显示,但我们添加的调试行将向您显示用户是其LDAP服务器上的组的一部分。看到ArtifactoryLogAfterSSO.png。这是由于插件将添加每个会话的权限,而不是作为常数群每个用户。
  7. 如果您尝试使用该用户在LDAP服务器上拥有的权限,则会成功,因为插件会将这些组权限附加给该用户。