SAML SSO配置
在Artifactory 7.38中实现的web更改。x和上面
安全性现在称为身份验证提供者。本页上的所有相关文字和图片都已更新,以反映这一变化。
使用基于saml的SSO:
以管理员权限登录系统。
在政府模块,去认证提供者| SAML SSO.
通过选中Enable SAML integration复选框来启用SAML集成。
启用或禁用自动创建Artifactory用户(使用SAML登录)。如果启用,新用户将持久保存在数据库中。
启用或禁用允许创建的用户访问配置文件页面.如果启用,用户将能够访问他们的个人资料不需要提供密码。
提供SAML登录网址而且SAML注销URL.
SAML注销URL
要同时从您的SAML提供程序和JFrog平台注销,您需要正确设置您的提供程序的注销URLSAML注销URL字段。如果不正确地设置这一点,即使用户从系统注销后,也会保持用户登录SAML提供程序。
提供服务提供者名称(SAML联合中的平台名称)
提供包含公钥的X.509证书。公钥可以使用DSA算法或RSA算法。平台使用这个密钥来验证SAML响应的来源和完整性。确保将X.509证书中的嵌入公钥与用于签署SAML响应的私钥相匹配。
自定义URL基地
要使SAML SSO设置工作,请确保您有您的定制的基URL配置。
签名和加密的断言
确保您的SAML IdP(身份提供程序)提供已签名的登录断言。这对于平台的断言验证是必需的。
本平台目前不支持签名注销。
支持SAML集成 |
选中后,将启用SAML集成,并且可以通过SAML服务器对用户进行身份验证。 |
SAML登录网址 |
SAML登录URL。 |
SAML注销URL |
SAML注销URL。 |
SAML服务提供者名称 |
SAML服务提供者名称。这应该是一个URI,也称为entityID、providid或实体标识。 SAML v2规范 |
使用加密的断言 |
设置后,Artifactory将创建一个X.509公共证书。下载此证书并将其上传到您的IDP,并选择您自己的加密算法。这个过程将允许您加密SAML响应中的断言部分。 |
SAML证书 |
包含公钥的X.509证书。 |
汽车副组 |
设置后,除了用户已经关联的组之外,它们还将与SAML登录响应中返回的组关联。 注意,用户与返回组的关联不是持久的。它只对浏览器中的当前登录会话有效(也就是说,这对使用SAML用户id和API Key的登录无效)。 此外,该关联也不会反映在ui组设置页面中。相反,您可以通过在您的
|
组属性 |
SAML登录XML响应中的组属性。注意,系统将搜索与现有组的区分大小写的匹配。 |
电子邮件属性 |
如果自动创建Artifactory用户如果启用或存在内部用户,则系统将用户的电子邮件设置为SAML登录XML响应返回的该属性中的值。 |
自动创建Artifactory用户 |
设置后,系统将自动为使用SAML登录的用户创建新用户,并将其分配到默认组。 |
当选中时,使用SAML进行身份验证后创建的用户将能够访问他们的个人资料.这意味着它们能够生成自己的API Key。 如果自动创建Artifactory用户是启用的,一旦登录系统,用户可以设置的密码以备将来使用。 |
|
自动重定向登录链接到SAML登录 |
选中后,单击登录链接将把用户导向配置的SAML登录URL。 |
观众验证限制 |
在SAML服务器对面设置了一个验证步骤,以验证SAML SSO身份验证请求。的verifyAudienceRestriction 属性在JFrog平台中为新的Artifactory安装默认设置。从以前的Artifactory版本升级时,只有在已经配置了SAML时才禁用此参数。 |
SAML SSO配置与Okta
在Artifactory 7.38中实现的web更改。x和上面
安全性现在称为身份验证提供者。本页上的所有相关文字和图片都已更新,以反映这一变化。
使用SAML SSO与Okta:
- 以管理员权限登录Okta。
- 在政府模块,选择添加应用|创建新应用| SAML 2.0.
- 输入App名称:< desired_app_name >,并点击下一个.
- 在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用户名
您可以通过使用用户的电子邮件地址的用户名(即。从“admin@“admin”company.com”)。选择自定义而不是Okta用户名和添加String.substringBefore(用户。电子邮件,“@”)纳入自定义规则。
- 点击下一个然后点击完成.
一个SAML 2.0帧显示在设置框架. - 点击视图设置说明.
- 从文本框中复制数据并将其粘贴进来Artifactory的SAML SSO设置.
与Artifactory一起使用SAML SSO:
- 登录Artifactory管理员特权。
从政府| SAML集成定义下面的字段。
Okta Artifactory 身份提供程序单点登录URL SAML登录网址 https:// < Account_Name >。okta.com SAML注销URL 身份提供商发行人 SAML服务提供者名称 证书 SAML证书 - 点击保存.
- 从Artifactory注销并转到登录页面.
- 点击SSO登录.
Okta用户需要为Artifactory分配权限。有关更多信息,请参见组同步(适用于Artifactory版本5.3.0及以上。
基于saml的单点登录过程
用户试图访问托管的JFrog平台主页。
平台生成SAML身份验证请求。
SAML请求被编码并嵌入到标识提供程序URL中。
平台发送一个重定向到用户的浏览器。重定向URL包括应该提交给标识提供程序的经过编码的SAML身份验证请求。
标识提供程序解码SAML消息并对用户进行身份验证。身份验证过程可以通过请求有效的登录凭证或检查有效的会话cookie来进行。
身份提供程序生成一个SAML响应,其中包含经过身份验证的用户的用户名。根据SAML 2.0规范,此响应使用身份提供程序的私有DSA/RSA密钥进行数字签名。
标识提供程序对SAML响应进行编码,并将该信息返回给用户的浏览器。标识提供程序使用已签名的响应重定向回平台。
平台的ACS使用合作伙伴的公钥验证SAML响应。如果验证成功,ACS将用户重定向到目的URL。
用户已被重定向到目标URL,并已登录平台。
基于saml的SSO注销过程
- 用户试图到达托管的JFrog平台注销链接。
- 平台将客户端注销并生成SAML注销请求。
- 类重定向到标识提供程序编码的SAML注销请求。
- 标识提供程序解码SAML消息并将用户注销。
- 用户被重定向到标识提供程序中配置的URL。
概要文件和绑定
JFrog平台目前支持Web浏览器单点登录和单注销配置文件。
Web浏览器SSO配置文件使用HTTP重定向绑定发送AuthnRequest
从服务提供者发送到标识提供者,以及HTTP POST将身份验证响应从标识提供者发送到服务提供者。
与前面的配置文件类似,单注销配置文件使用HTTP重定向绑定将服务提供者的LogoutRequest发送到标识提供者,并使用HTTP POST将标识提供者的注销响应发送到服务提供者。
如果你的IDP支持上传服务提供商元数据,你可以使用以下的元数据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”绑定= " urn: oasis:名字:tc: SAML: 2.0:绑定:http - post " / > < / ns2: SPSSODescriptor > < / ns2: EntityDescriptor >
使用服务提供者元数据:
不要忘记更新服务提供者元数据XML中的以下字段。
entityID
:联合中的平台ID。必须匹配SAML服务提供者名称在平台的SAML配置页面中。位置
: SAML设置后的平台主url
使用SAML,平台自动将请求重定向到对用户进行身份验证的IDP,并在成功登录后重定向回平台。
如果启用了匿名用户,平台就不必对用户进行身份验证,因此它不会重定向到IDP。如果用户仍然想通过SAML登录,他们可以通过单击SSO登录
登录页面中的链接。
登录失败
在IDP故障转移或错误配置的情况下,JFrog平台允许您通过使用JFrog平台登录页面绕过SAML登录:
http:// < SERVER_HOSTNAME >: 8082 / ui /登录
需要直接登录到JFrog平台的内部用户可以使用该URL。
与SAML用户使用API密钥
虽然SAML提供了对JFrog平台UI的访问,但SAML用户也可以生成一个API密匙可用于基本身份验证或专用的REST API头,这是非常有用的工作与不同的客户端,例如Docker, npm, Maven等,或使用REST API。
为了允许SAML用户访问API密钥,您需要确保自动创建Artifactory用户
而且允许创建的用户访问配置文件页面
选中复选框。这意味着SAML用户也保存在Platform数据库中,并且可以访问他们的用户配置文件以便生成、检索和撤销它们的API密钥。