SAML SSO配置
在Artifactory 7.38中实现的web更改。X及以上
安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。
要使用基于saml的SSO:
以管理员权限登录系统。
在政府模块,转到身份验证提供者| SAML SSO.
JFrog Cloud新界面(测试版)
在任务栏上,单击(平台配置),并选择用户认证> SAML单点登录。到l获取更多信息,请点击在这里.
通过选中Enable SAML integration复选框来启用SAML集成。
启用或禁用自动创建人工用户(使用SAML登录)。如果启用,新用户将保存在数据库中。
启用或禁用允许创建的用户访问配置文件页面.如果启用,用户将能够访问他们的个人资料无需提供密码。
提供SAML登录URL和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登录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设置页面中。相反,您可以通过在您的
|
组属性 |
SAML登录XML响应中的group属性。注意,系统将搜索与现有组的区分大小写匹配。 |
电子邮件属性 |
如果自动创建人工用户启用或存在内部用户,则系统将用户的电子邮件设置为SAML登录XML响应返回的此属性中的值。 |
自动创建人工用户 |
设置后,系统将自动为使用SAML登录的用户创建新用户,并将其分配到默认组。 |
选中后,使用SAML进行身份验证后创建的用户将能够访问他们的个人资料.这意味着他们能够生成自己的API密钥。 如果自动创建人工用户启用后,一旦登录系统,用户可以设置他们的密码供将来使用。 |
|
自动重定向登录链接到SAML登录 |
选中后,单击登录链接将把用户引导到配置的SAML登录URL。 |
验证受众限制 |
在SAML服务器的对面设置了一个验证步骤,以验证SAML SSO身份验证请求。的verifyAudienceRestriction SAML SSO的属性默认情况下在JFrog平台中为新的Artifactory安装设置。当从以前的Artifactory版本升级时,只有在已经配置了SAML的情况下才禁用此参数。 |
Okta的SAML SSO配置
在Artifactory 7.38中实现的web更改。X及以上
安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。
在Okta中使用SAML SSO:
- 以管理员权限登录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用户名
您可以使用用户的电子邮件地址的用户名(即Okta)登录Artifactory。“admin”来自“admin@”company.com”)。选择自定义而不是Okta用户名和添加String.substringBefore(用户。电子邮件,“@”)到自定义规则中。
- 点击下一个然后点击完成.
一个SAML 2.0框架下显示设置框架. - 点击查看设置说明.
- 从文本框中复制数据并粘贴进去Artifactory的SAML SSO设置.
在Artifactory中使用SAML SSO:
- 使用登录Artifactory管理员特权。
从政府|身份验证提供者| SAML集成定义下面的字段。
Okta Artifactory 身份提供者单点登录URL SAML登录URL https:// < Account_Name >。okta.com SAML注销URL 身份提供程序颁发者 SAML服务提供者名称 证书 SAML证书 - 点击保存.
- 从Artifactory注销并转到登录页面.
- 点击SSO登录.
Okta用户需要为Artifactory分配权限。有关更多信息,请参见组同步(适用于Artifactory版本5.3.0及以上)
基于saml的SSO登录过程
用户试图访问托管的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浏览器单点登录配置文件使用HTTP重定向绑定发送Web浏览器单点登录配置文件AuthnRequest
从服务提供者到身份提供者,以及HTTP POST将身份提供者的身份验证响应发送到服务提供者。
与前面的概要文件类似,单注销概要文件使用HTTP重定向绑定将服务提供者的注销请求发送到身份提供者,并使用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”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密钥。