ARTIFACTORY:如何在ADFS 2022中配置ARTIFACTORY SAML单点登录?

罗兰杨
2022-05-29 07:45

请使用我们的SAML SSO集成将您的Artifactory配置为使用ADFS单点登录(SSO)。此外,您可以参考我们创建的示例演练,该示例演练用于使用Artifactory配置ADFS Management 10.0。

Artifactory 5.3.0及以上版本支持Artifactory的组和源自ADFS转发断言的组之间的组同步。一个常见的用例也是在Artifactory中同步您的LDAP组和权限,所需的先决条件是导入LDAP组。

请注意:LDAP组仅以小写格式导入Artifactory。作为一种解决方法,您应该将组的排序规则调整为较小的名称,以便SAML和Artifactory(内部或导入)组同步发挥作用。这个需求的存在是因为SAML断言可以包含混合排序,而Artifactory将遵循它。

示例演练

  1. 打开ADFS管理控制台。
  2. 在左侧的树形浏览器中,导航到“依赖方信托”。
  3. 点击“Add dependency Party Trust”(在控制台右侧的“Actions”窗口下)。
  4. 在“添加依赖方信任向导”对话框中,选择“索赔意识”,然后单击“开始”。
  5. 选择“手动输入依赖方数据”,单击“下一步”。
  6. 选择任意“显示名称”,然后单击“下一步”。
  7. 您可以跳过证书并单击“下一步”。
  8. 选择“启用对SAML 2.0 WebSSO协议的支持”,在URL文本框中填写:https://{PLATFORM_URL}/artifactory/webapp/saml/loginResponse,单击“下一步”。

(例如{PLATFORM_URL}: https://yourcompany.jfrog.io/yourcompany或https://yourcompany.local:8443/artifactory)

用户添加图片

9.在“依赖方信任标识符”文本框中填写:“https://{PLATFORM_URL}”,点击“添加”,点击“下一步”。

用户添加图片

10.选择“允许所有人”,然后单击“下一步”。
11.单击“下一步”。
12.选择“关闭”。
13.在“编辑索赔发放策略”对话框中,单击“添加规则…”
14.在“索赔规则模板”dropbox中,选择“将LDAP属性作为索赔发送”,单击“下一步”。
15.填写任何“索赔规则名称”,并在“属性存储”dropbox中选择“Active Directory”。
16.2 .在“LDAP属性映射…”区域,在“LDAP属性”中选择“SAM-Account-Name”或“Email地址”。在“外发索赔类型”dropbox中选择“名称ID”,然后点击“完成”。

用户添加图片

17.添加另一个规则,这次选择“转换传入索赔”并单击下一步。

用户添加图片

18.填写一个名称,并将“传入索赔类型”字段设置为“电子邮件地址”,将“传出索赔类型”设置为“名称ID”。单击Finish。

  • 如果您希望相应地显示Artifactory用户(而不是您的电子邮件地址),您可以将“传入索赔类型”属性更改为“Windows帐户名称”。
用户添加图片

人工端和证书分配:

在您的Artifactory UI中,以“admin”用户身份登录,在“admin”选项卡中导航到“SAML Integration”部分,并执行以下步骤:

  1. 选中“启用SAML集成”复选框。
  2. 在“SAML登录URL”文本框中填写:“https://{ADFS_SERVER_URL}/adfs/ls/IdpInitiatedSignOn.aspx”
  3. 在“SAML注销URL”文本框中填写:“https://{ADFS_SERVER_URL}/adfs/ls?”注销”
  4. 在“SAML服务提供商名称”文本框中填写:“https://{PLATFORM_URL}”
  5. 在“SAML证书”文本框中,粘贴由ADFS服务器生成的x509 SAML证书(见下面的截图)
AD FS ->服务-证书->选择令牌签名证书->查看证书->详细信息->复制到文件->导出base64编码的cer文件格式。

用户添加图片

用户添加图片

用户添加图片

6.点击“保存”(如果使用Artifactory >5.3.0版本,可以设置组属性,详细说明见下文)。

7.导航到“常规”部分(左树浏览器),在“自定义URL库”文本框中填写:“https://{PLATFORM_URL}”,然后单击“保存”。

8.退出人工界面,然后尝试使用“单点登录”登录。

群组同步(Artifactory 5.3.0及以上版本)

注意:当只配置SAML时,此组同步不是持久的://m.si-fil.com/confluence/display/JFROG/SAML+SSO

1.在ADFS管理控制台,使用左侧的树形浏览器,导航到“索赔提供商信托”→“活动目录”。

2.选择“编辑索赔规则”:

用户添加图片

3.选择“出站LDAP规则”并单击下面的编辑。为您的Active Directory属性添加以下映射:
“令牌-组-非限定名称”→“组”
单击OK保存。

用户添加图片

4.在左侧的树形浏览器中,导航到“依赖方信任”并选择您的Artifactory依赖方定义(如上所述)。我们将为组声明创建另一个Transform Rule。

5.再次点击“Add rule…”对话框添加另一条规则,选择“Transform an Incoming claim”,然后单击下一步。

用户添加图片

6.为转换规则选择一个名称。将“传入索赔类型”字段设置为“Group”,将“传出索赔类型”设置为您选择的属性,我们将使用“Group”属性(该属性的名称可在Artifactory中配置)。点击Finish:

用户添加图片

7.转到您的Artifactory UI,以“admin”用户身份登录,导航到“SAML Integration”,并为组属性调整所选名称。它需要设置为“http://schemas.xmlsoap.org/claims/Group”(见上面的截图)
*内部Artifactory组是区分大小写的,与SAML断言一起到达的组也是如此,因此请确保您的组具有精确匹配。此外,导入到Artifactory的LDAP组将仅以小写形式存在。
例如,我在Artifactory中创建了一个名为“adfs-artifactory”的组,并具有管理员权限:

用户添加图片

然后在活动目录中,我创建了一个同名的组,并将自己添加为成员。

用户添加图片

然后,当我通过UI与SAML登录到Artifactory,我现在有管理权限:

用户添加图片