如何将SAML单点登录用户映射到LDAP组?
可以将LDAP组映射到单点登录用户Artifactory用户插件.使用这个插件的完整过程如下:
<设置LDAP & LDAP组>
设置并启用ArtifactoryLDAP和LDAP组使用这个解决方案.
<修改用户插件> .
- 下载'SynchornizeLDAPGroups'用户插件,并把它放在你的$ARTIFACTORY_HOME/etc/plugins(或$CLUSTER_HOME/etc/plugins如果你使用高可用性)
- 取代“使用已导入到Artifactory的LDAP组的名称
- 在“myrelms”内部,添加以下代码到插件中,仅用于调试:log.debug“美国Er "+用户名+"有以下组"+组
- 将以下日志添加到$ARTIFACTORY_HOME/etc/logback.xml文件中:没有必要重启)
1
2
3.
<日志记录器的名字=“synchronizeLdapGroups”><水平价值=“调试”/>日志记录器> - 添加用户插件后运行插件重载rest API或重新启动Artifactory。
<使用实例验证同步>
- 为了检查单点登录用户是否在LDAP组中获得了正确的组,需要一个名为“shayy”的现有用户。你可以看到这个用户在Artifactory中不存在:
- 我已经导入了LDAP组,我希望用户获得其权限。在本例中,和在插件中一样,我们使用了' il-users '。我已经导入了两个组,它们是“il-users”的一部分。
- 在Artifactory中有了这些组之后,我就创建了一个SAML SSO配置,这样就可以对用户进行身份验证并同步该用户拥有的LDAP组。意思是一旦我愿意登录使用这个SAML单点登录用户,插件将为它提供这个用户在LDAP上拥有的组。
- 执行如下rest命令:curl -i -u shayy . shhttps://localhost:8081/artifactory/api/system/ping
- 这样做之后,就创建了具有默认权限的用户。
- 如果您访问artificial。log,您将能够看到,尽管UI没有显示它,但我们添加的调试行将向您显示用户是组的一部分,就像他在LDAP服务器上一样。看到ArtifactoryLogAfterSSO.png。这是因为插件会在每个会话中添加权限,而不是作为常数组每个用户。
- 如果您尝试使用这个用户在LDAP服务器上拥有的权限,它将成功,因为插件将这些组权限附加到这个用户。
