JFrog帮助中心

我们的新门户即将推出!
文档+知识库





JFrog帮助中心-新的知识体验即将到来!



概述

SAML(安全断言标记语言)是一种允许交换使用的XML标准r身份验证web域之间的引诱和授权信息。

JFrog平台提供基于saml的单点登录服务,允许联合的JFrog合作伙伴(身份提供者)完全控制授权过程。

使用SAML, JFrog平台充当服务提供者,从外部身份提供者接收用户的身份验证信息。在这种情况下,JFrog不再负责对用户进行身份验证,尽管它仍然必须将登录请求重定向到身份提供者,并验证身份提供者的完整性身份提供者的响应。

安全最佳实践

启用SAML单点登录时,建议执行以下操作禁用内部用户。

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。

JFrog Cloud新界面(测试版)

在任务栏上,单击(平台配置),然后选择用户认证> SAML单点登录。要了解更多信息,请点击在这里

JFrog订阅级别

云(SaaS)
企业企业+
自托管

箴X
企业x企业+
页面内容



SAML SSO配置

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。

要使用基于saml的SSO:

  1. 以管理员权限登录系统。

  2. 政府模块,转到身份验证提供者| SAML SSO

    JFrog Cloud新界面(测试版)

    在任务栏上,单击(平台配置),并选择用户认证> SAML单点登录。到l获取更多信息,请点击在这里

  3. 通过选中Enable SAML integration复选框来启用SAML集成。

  4. 启用或禁用自动创建人工用户(使用SAML登录)。如果启用,新用户将保存在数据库中。

  5. 启用或禁用允许创建的用户访问配置文件页面.如果启用,用户将能够访问他们的个人资料无需提供密码。

  6. 提供SAML登录URLSAML注销URL

    SAML注销URL

    要同时从SAML提供程序和JFrog平台注销,需要正确设置提供程序的注销URLSAML注销URL字段。设置不正确将使您的用户在退出系统后仍然使用SAML提供程序登录。

  7. 提供服务提供者名称(SAML联合中的平台名称)

  8. 提供包含公钥的X.509证书。公钥可以使用DSA算法或RSA算法。平台使用此密钥验证SAML响应的来源和完整性。确保X.509证书中嵌入的公钥与用于签署SAML响应的私钥相匹配。

自定义URL库

要使您的SAML SSO设置正常工作,请确保您的自定义基础URL配置。

已签名和加密的断言

确保您的SAML IdP(身份提供程序)提供已签名的登录断言。这对于平台的断言验证是强制性的。
平台目前不支持签名登出。

启用SAML集成
选中后,将启用SAML集成,并且可以通过SAML服务器对用户进行身份验证。
SAML登录URL
SAML登录URL。
SAML注销URL
SAML注销URL。
SAML服务提供者名称

SAML服务提供者名称。这应该是一个URI,也称为entityID、providerID或实体标识。

SAML v2规范
使用加密断言
设置后,Artifactory将创建一个X.509公共证书。下载此证书并将其上传到您的IDP,并选择您自己的加密算法。此过程将允许您加密SAML响应中的断言部分。
SAML证书
包含公钥的X.509证书。
自动关联组

设置后,除了用户已经关联的组之外,它们还将与SAML登录响应中返回的组关联。

注意,用户与返回的组的关联不是持久的。它仅对浏览器中的当前登录会话有效(即,这将不适用于使用SAML用户id和API Key的登录)。

此外,该关联将不会反映在UIs Groups设置页面中。相反,您可以通过在您的美元ARTIFACTORY_HOME / var / etc / artifactory / logback.xml文件如下:

<记录器name = " org.artifactory.addon.sso.saml " >
<级别值= "调试" / >
< / logger >

组属性
SAML登录XML响应中的group属性。注意,系统将搜索与现有组的区分大小写匹配。
电子邮件属性
如果自动创建人工用户启用或存在内部用户,则系统将用户的电子邮件设置为SAML登录XML响应返回的此属性中的值。
自动创建人工用户
设置后,系统将自动为使用SAML登录的用户创建新用户,并将其分配到默认组。
选中后,使用SAML进行身份验证后创建的用户将能够访问他们的个人资料.这意味着他们能够生成自己的API密钥。
如果自动创建人工用户启用后,一旦登录系统,用户可以设置他们的密码供将来使用。
自动重定向登录链接到SAML登录
选中后,单击登录链接将把用户引导到配置的SAML登录URL。
验证受众限制
在SAML服务器的对面设置了一个验证步骤,以验证SAML SSO身份验证请求。的verifyAudienceRestrictionSAML SSO的属性默认情况下在JFrog平台中为新的Artifactory安装设置。当从以前的Artifactory版本升级时,只有在已经配置了SAML的情况下才禁用此参数。

Okta的SAML SSO配置

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。

本过程描述如何使用Okta配置人工SAML单点登录。

在Okta中使用SAML SSO:

  1. 以管理员权限登录Okta。
  2. 政府模块,选择添加应用|创建新应用| SAML 2.0

  3. 输入App名称:< desired_app_name >并点击下一个
  4. SAML设置输入如下:
    • 的单点登录URLArtifactory 6。X版本

      https:// $ {ARTIFACTORY_URL} / webapp / saml / loginResponse
      例子
      https://yourcompany.jfrog.io/yourcompany/webapp/saml/loginResponse
    • 的单点登录URLArtifactory 7。X的版本。

      https:// $ {ARTIFACTORY_URL} / ui / api / v1 /认证/ saml / loginResponse
      例子
      https://yourcompany.jfrog.io/ui/api/v1/auth/saml/loginResponse
    • 受众URI (SP实体ID)。

      https:// $ {ARTIFACTORY_URL}

      例子
      https://yourcompany.jfrog.io/yourcompany

    • 名称ID格式:未指定
    • 应用程序用户名:Okta用户名

      您可以使用用户的电子邮件地址的用户名(即Okta)登录Artifactory。“admin”来自“admin@”company.com”)。选择自定义而不是Okta用户名和添加String.substringBefore(用户。电子邮件,“@”)到自定义规则中。

  5. 点击下一个然后点击完成
    一个SAML 2.0框架下显示设置框架
  6. 点击查看设置说明
  7. 从文本框中复制数据并粘贴进去Artifactory的SAML SSO设置

在Artifactory中使用SAML SSO:

  1. 使用登录Artifactory管理员特权。
  2. 政府|身份验证提供者| SAML集成定义下面的字段。

    Okta Artifactory
    身份提供者单点登录URL SAML登录URL
    https:// < Account_Name >。okta.com SAML注销URL
    身份提供程序颁发者 SAML服务提供者名称
    证书 SAML证书
  3. 点击保存
  4. 从Artifactory注销并转到登录页面
  5. 点击SSO登录

Okta用户需要为Artifactory分配权限。有关更多信息,请参见组同步(适用于Artifactory版本5.3.0及以上)



基于saml的SSO登录过程

  1. 用户试图访问托管的JFrog平台主页。

  2. 平台生成一个SAML身份验证请求。

  3. 对SAML请求进行编码并嵌入到标识提供程序URL中。

  4. 平台将重定向发送到用户的浏览器。重定向URL包括应提交给标识提供程序的编码的SAML身份验证请求。

  5. 身份提供者解码SAML消息并对用户进行身份验证。身份验证过程可以通过请求有效的登录凭据或检查有效的会话cookie来进行。

  6. 标识提供者生成一个包含经过身份验证的用户的用户名的SAML响应。根据SAML 2.0规范,此响应使用身份提供者的私有DSA/RSA密钥进行数字签名。

  7. 标识提供者对SAML响应进行编码,并将该信息返回给用户的浏览器。身份提供者使用签名响应重定向回平台。

  8. 平台的ACS使用合作伙伴的公钥验证SAML响应。如果响应验证成功,则ACS将用户重定向到目的URL。

  9. 用户已被重定向到目标URL并登录到平台。



基于saml的SSO注销过程

  1. 用户试图访问托管的JFrog平台注销链接。
  2. 平台注销客户机并生成一个SAML注销请求。
  3. 的重定向到标识提供者编码的SAML注销请求。
  4. 身份提供程序解码SAML消息并注销用户。
  5. 用户被重定向到标识提供程序中配置的URL。


配置文件和绑定

JFrog平台目前支持Web浏览器单点登录和单一注销配置文件。

Web浏览器单点登录配置文件使用HTTP重定向绑定发送Web浏览器单点登录配置文件AuthnRequest从服务提供者到身份提供者,以及HTTP POST将身份提供者的身份验证响应发送到服务提供者。

与前面的概要文件类似,单注销概要文件使用HTTP重定向绑定将服务提供者的注销请求发送到身份提供者,并使用HTTP POST将身份提供者的注销响应发送到服务提供者。

如果您的IDP支持上传服务提供商元数据,则可以使用以下元数据XML:

人工SP元数据XML
< ns2: EntityDescriptor xmlns = " http://www.w3.org/2000/09/xmldsig " xmlns: ns2 = " urn: oasis: names: tc: SAML: 2.0:元数据”entityID = " < SP_NAME_IN_FEDERATION > " > < ns2: SPSSODescriptor WantAssertionsSigned = " true " AuthnRequestsSigned =“false”protocolSupportEnumeration = " urn: oasis: names: tc: SAML: 2.0:协议”> < ns2: NameIDFormat > urn: oasis: names: tc: SAML: 1.1: nameid-format:未指明的< / ns2: NameIDFormat > < ns2: AssertionConsumerService指数= =“1”位置”< PLATFORM_URL > / artifactory / webapp / SAML / loginResponse”Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>  

要使用服务提供者元数据:

不要忘记更新服务提供者元数据XML中的以下字段。

  • entityID:联盟中的平台ID。必须匹配SAML服务提供者名称在平台的SAML配置页面中。
  • 位置SAML设置后的平台主页url

使用SAML,平台自动将请求重定向到对用户进行身份验证的IDP,并在成功登录后重定向回平台。

如果启用了匿名用户,平台不必对用户进行身份验证,因此它不会重定向到IDP。如果用户仍然希望通过SAML登录,则可以单击SSO登录登录页面链接。

登录失败

在IDP故障转移或错误配置的情况下,JFrog平台允许您通过使用JFrog平台登录页面来绕过SAML登录:

http:// < SERVER_HOSTNAME >: 8082 / ui /登录

该URL可供需要直接登录到JFrog平台的内部用户使用。


对SAML用户使用API密钥

虽然SAML提供对JFrog平台UI的访问,但SAML用户也可以生成一个API密匙它可以代替密码用于基本身份验证或专用的REST API头这在使用不同的客户端(如Docker、npm、Maven等)或使用REST API时非常有用。

为了允许SAML用户访问API密钥,您需要确保自动创建人工用户允许创建的用户访问配置文件页面复选框被选中。这意味着SAML用户也被保存在Platform数据库中,并且可以访问他们的用户配置文件以便生成、检索和撤销它们的API密钥。


  • 没有标签
版权所有©2023 JFrog Ltd.