Artlfactory Saml组与ADFS的关联

时间:2019-03-06 09:24:37

标签: artifactory adfs

为您提供信息,我尝试搜索其他链接,但没有找到正确的答案。以下链接看起来像是同样的问题,但对此没有适当的答案

Artifactory: SAML SSO group matching not working

我在与SAML的工件组关联方面遇到问题。尝试遵循以下链接中提到的过程,但不起作用。任何帮助都将不胜感激。

https://jfrog.com/knowledge-base/how-do-i-configure-artifactory-saml-sso-with-adfs/

我们的目标是在人工制品中创建与ADFS中相同的组。这样我们就可以为工件中的相应组授予权限。但是问题是人们可以使用他们的域凭据登录,就像我们向组提供的权限无法正常工作一样。

如果您需要进一步说明,我很乐意在此问题上做更多的解释。

ADFS方面由其他团队处理,即使他们不确定为什么它不起作用。人工制品中是否有任何错误?我已经用jenkins配置了SAML,效果很好。

1 个答案:

答案 0 :(得分:0)

我将尝试详细说明该过程。

登录请求后,用户及其组可用于由SAML身份提供程序发送回Artifactory的断言响应中的Artifactory。只要身份提供者配置为包括该数据,该数据就可以在断言XML响应中可用。例如,标识提供者可以排除组信息,而仅包括用户数据(即用户名,邮件)。

为了确保Artifactory可以将用户分配给SAML组,您需要执行以下操作:

  1. 将ADFS配置为在登录响应中包括用户组属性。您已经提到这是由其他团队处理的,但是您可以在帖子所附的link中看到如何完成此操作。
  2. 在Artifactory中创建相关的组,或从其他身份验证提供程序将它们导入Artifactory(例如Artifactory LDAP集成组屏幕)。强制在Artifactory中存在相关的小组。
  3. 打开Artifactory Web-UI SAML配置屏幕,选中CreateEnumToStringExpression<int, StatusesEnum>(new Expression<Func<int, ShippingContainerHeader>> { s => s.StatusId })复选框
  4. 编辑Auto Associate groups文本字段,然后输入组声明的SAML属性名称。所需的组属性名称是SAML断言响应中返回的名称。

在断言中,它应如下所示:

Group Attribute

在您的情况下,您可以如上所述从管理ADFS的另一个团队获取组关联属性名称,也可以只在任何一种SAML跟踪器浏览器插件中查看断言(只要配置了ADFS)发送组属性)

完成上述配置后,当SAML用户登录Artifactory时,该用户将自动与SAML断言响应返回的组关联(只要该组存在于Artifactory中)

注意:SAML组关联不是持久的,并且仅对当前登录会话有效,因此,如果您要在UI中编辑用户/组屏幕,则不会表明该用户/组关联,但是,如果您向希望分配用户的组授予对特定资源的权限,则可以看到登录的用户能够使用所授予的权限。