云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

单点登录(SSO)附加组件允许您使用JFrog平台单元(JPD)重用现有的基于http的SSO基础结构,例如Apache HTTPd提供的SSO模块。

您可以使用常用的SSO解决方案(如本机NTLM、Kerberos等)进行jpa身份验证。

SSO的工作原理是让JPD知道它应该在HTTP请求中查找哪些可信信息,假设该请求已经通过Artifactory前面的SSO基础设施的身份验证。

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

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

页面内容



在jsp中配置HTTP单点登录

  1. 政府模块,选择身份验证提供者| HTTP sso
  2. 选择工件由安全HTTP服务器代理复选框,表明Artifactory运行在一个安全的HTTP服务器后面,该服务器将可信请求转发给Artifactory。
  3. 添加变量以查找受信任的身份验证信息。默认是查找REMOTE_USER头或请求变量,这是由Apache的AJP和JK连接器设置的。
    您可以通过提供不同的变量名来选择使用任何请求属性(由Servlet规范定义)。

    添加您自己的SSO集成

    您可以编写一个简单的servlet筛选器来与自定义安全系统集成,并在要由SSO附加组件信任的请求上设置请求属性。

  4. 选择允许创建的用户访问配置文件页面复选框,指示Artifactory将外部身份验证的用户视为临时用户,这样Artifactory就不会在其安全数据库中创建这些用户。
    在这种情况下,此类用户的权限基于授予自动连接组的权限。

  5. 选择关联LDAP组复选框,将用户与LDAP登录响应中返回的组关联起来。


字段名 描述
工件由安全HTTP服务器代理
选中后,Artifactory信任传入请求,并重用HTTP服务器的SSO最初在请求上设置的远程用户。

如果您想要使用现有的企业SSO集成,例如Apache提供的强大的身份验证方案(mod_auth_ldap、mod_auth_ntlm、mod_auth_kerb等),这是非常有用的。

当Artifactory作为webapp部署在Apache后面的Tomcat上时:
  • 如果使用mod_proxy_ajp,一定要设定好tomcatAuthentication = " false "在AJP连接器上。
  • 如果使用mod_jk,请确保使用JkEnvVar REMOTE_USER指令。

如果启用了“Artifactory是由安全HTTP服务器代理的”,则Artifactory应该显式地和独占地绑定到位于同一台机器上的反向代理。

远程用户请求变量
用于提取用户标识的HTTP请求变量的名称。默认值为:REMOTE_USER。
自动创建系统用户

不勾选时,系统不会自动创建通过认证的用户。相反,对于来自SSO用户的每个请求,该用户将临时与默认组(如果定义了这些组)关联,并应用这些组的权限。

如果没有自动创建用户,则必须在Artifactory中手动创建用户,以管理未附加到其默认组的用户权限。

选中后,使用HTTP SSO进行身份验证后创建的用户将能够访问您的用户配置文件。这意味着他们能够产生他们的API密匙设置密码供将来使用。
自动关联LDAP组
选择时,将用户与LDAP登录响应中返回的组关联起来。请注意,如果用户与返回的组的关联是持久的自动创建系统用户被选中。

自定义URL库

要使HTTP SSO设置正常工作,请确保拥有自定义URL库配置。


集成Apache和Tomcat

当Artifactory作为webapp部署在Apache后面的Tomcat上时:

  • 如果使用mod_proxy_ajp-一定要设置tomcatAuthentication = " false "在AJP连接器上。
  • 如果使用mod_jk-确保使用JkEnvVar REMOTE_USER指令。
  • 如果使用mod_proxy(需要mod_proxy_http, mod_headers和mod_rewrite -有两种已知的工作方法转发报头:
REMOTE_USER %{REMOTE_USER}e

RewriteEngine On RewriteCond %{REMOTE_USER} (.+) RewriteRule。- [E=RU:%1] requesttheader set REMOTE_USER %{RU} E

配置反向SSL代理单点登录

您可以在web服务器上设置反向SSL代理,以便运行支持SSO的jsp。

要做到这一点,你需要有权利组件安装,修改web服务器配置文件,然后配置Artifactory为SSO。

正确设置后,您应该能够使用Windows凭证登录到Artifactory,并在会话之间保持登录状态。

为了获得最佳安全性,Artifactory和反向代理web服务器必须位于同一台机器上。Artifactory应该被明确地和排他性地绑定到代理主机

组件和版本

下面的内容已经经过测试,可以使用Kerberos/NTLM SSO使用以下组件与jsp一起工作。

修改web服务器配置文件

安装了正确的组件和版本后,需要将以下行添加到[HTTP_SERVER_HOME] / conf / httpd . conf文件:

httpd . conf文件
 ServerName yourhostname DocumentRoot "C:/IBM/Installation Manager/eclipse/plugins/org.apache.ant_1.8.3. "v20120321-1730" ProxyPreserveHost on ProxyPass /artifactory http://yourhostname:9080/artifactory ProxyPassReverse /artifactory http://yourhostname:9080/artifactory   AuthName " artifactory Realm" AuthType SSPI SSPIAuth on sspiauthorizationon require - valid-user RewriteEngine on RewriteCond %{REMOTE_USER} (.+) rewriterrule . v20120321-1730"- [E=RU:%1] RequestHeader set REMOTE_USER %{RU} E 

然后,您需要在您的httpd . conf文件:

要启用的模块
LoadModule sspi_auth_module modules/mod_auth_sspi。所以LoadModule headers_module modules/mod_headers。所以LoadModule proxy_module modules/mod_proxy。所以LoadModule proxy_connect_module modules/mod_proxy_connect。所以LoadModule proxy_http_module modules/mod_proxy_http。LoadModule rewrite_module modules/mod_rewrite.so


HTTP-SSO用户使用API密钥

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

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


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