配置
在Artifactory 7.38中实现的web更改。X及以上
安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。
配置LDAP认证,请使用政府模块转到认证提供者| LDAP并点击新建LDAP设置.
LDAP连接设置的配置参数如下:
启用 |
设置后,将启用这些设置。 |
设置名称 |
LDAP设置的唯一ID。 |
LDAP URL |
LDAP服务器位置信息,格式如下: URL应该包括用于搜索和/或验证用户的基本DN。 |
自动创建系统用户 |
设置完成后,系统会自动为已使用LDAP登录的用户创建新用户,并将其分配到默认组中。 |
允许创建的用户访问配置文件页面 |
设置后,使用LDAP登录后创建的用户将能够访问他们的配置文件页面。 |
已使用页面结果 |
设置后,支持LDAP服务器的分页结果。该特性要求LDAP服务器支持PagedResultsControl配置。 |
用户DN模式 |
一种DN模式,用于将用户直接登录到LDAP数据库。此模式用于创建用于“直接”用户身份验证的DN字符串,并且相对于LDAP URL中的基本DN。 模式参数{ 例如: |
电子邮件属性 |
可用于将用户的电子邮件映射到系统自动创建的用户的属性。 |
搜索过滤器 |
用于搜索LDAP身份验证中使用的用户DN的筛选器表达式。 可能的例子有: |
搜索基地 |
相对于LDAP URL中的基准DN,要在其中搜索的上下文名称。可以通过管道(|)指定多个搜索基。该参数是可选的。 |
安全LDAP搜索 |
通过过滤暴露于漏洞的用户来防止LDAP中毒。 |
搜索子树 |
设置后,启用通过LDAP URL + search Base的子树进行深度搜索。默认为True。 |
经理DN |
具有查询LDAP服务器权限的用户的全DN。在使用LDAP组时,用户应该对任何额外的组属性具有权限,例如memberOf。 |
密码管理器 |
使用“search”认证时绑定LDAP服务器的用户密码。 |
测试LDAP连接 |
运行LDAP测试以验证您的设置是否正确。 |
LDAP组
LDAP组附加组件允许您将LDAP组与系统同步,并利用现有的组织结构来管理基于组的权限。
与许多LDAP集成不同,LDAP组使用超快的缓存,并同时支持静态、动态和分层映射策略。强大的管理通过多个可切换的LDAP设置和来自LDAP的组和用户的最新状态的可视反馈来实现。
LDAP组同步是通过告知系统经过认证的用户所属的外部组来实现的。登录后,您将自动与LDAP组关联,并继承系统管理的基于组的权限。
确保用户登录
同步LDAP组不会自动创建属于这些组的成员的用户。LDAP连接配置完成后,LDAP用户只有在首次登录系统时才会在系统中创建。用户的自动创建可以由自动创建用户复选框。
使用
在Artifactory 7.38中实现的web更改。X及以上
安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。
LDAP组设置可在政府模块下认证提供者| LDAP.
要使用LDAP组,首先必须在LDAP Settings屏幕上设置LDAP服务器进行身份验证。您还必须提醒系统要将正确的LDAP组设置用于现有的LDAP模式。
Active Directory用户
有关为Active Directory安装设置LDAP组的具体帮助,请参见活动目录.
组同步策略
JFrog平台部署(JPD)支持三种方式将组映射到LDAP模式:
- 静态:组对象知道它们的成员,但是用户不知道它们所属的组。
每个组对象如groupOfNames
或groupOfUniqueNames)
通常保存其各自的成员属性成员
或uniqueMember
,即用户DN。
- 动态:用户对象知道他们属于什么组,但是组对象不知道他们的成员。
每个用户对象都包含一个自定义属性,例如集团
,其中包含用户所属的组dn或组名。
- 层次结构:用户DN表示用户所属的组,组名作为用户DN层次结构的一部分。
每个用户DN包含的列表欧
的或组成组关联的自定义属性。
例如,uid = user1, ou =开发者,ou =英国,dc = jfrog, dc = org
表明user1
属于两类:英国
而且开发人员
.
使用OpenLDAP
在使用OpenLDAP时,不能应用动态战略,因为memberOf
属性默认情况下没有定义(memberOf
是一个覆盖),因此JPD将无法从LDAP服务器获取它。
同步LDAP组到JPD
在Artifactory 7.38中实现的web更改。X及以上
安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。
通过用户界面导入分组
配置了如何从LDAP服务器检索组之后,可以通过单击刷新
按钮。同步LDAP组
sub-panel。根据您的设置,将显示可用的LDAP组列表。
现在可以将组同步/导入到系统中了。groups表允许您选择要导入的组,并显示每个组的同步状态:
一个组可以是全新的,也可以是JPD中已经存在的。如果一个组已经存在于系统中,它可能会过时(例如,如果组DN已更改)——这在表中表示,以便您可以选择重新导入它。
导入(同步)一个组后,系统中就会创建一个新的外部LDAP组,并使用组的名称。
导入LDAP组之后,就可以这样做了管理权限就像普通的JPD小组一样用户与这些组的关联是外部的,由LDAP严格控制。
确保已启用LDAP组设置(在LDAP组设置
面板),以便使您的设置生效。
通过用户界面同步组政府模块,在认证提供者| LDAP,选择要同步的组,然后搜索在相应的组设置下定义的组。找到组后,选择导入。
组同步后,您应该在组列表(政府模块下认证提供者|组)表示为外部.
使用REST API
属性也可以同步LDAP组创建或替换组使用ldap域和ldap服务器下的组对象的完整DN路径创建组。
限制
确保仅在通过REST API创建LDAP组时使用小写。使用大写或混合大小写将阻止组的同步。
当使用REST API同步LDAP组时,您需要在LDAP服务器上为组指定准确且完整的Group DN路径。下面的例子显示了你用来同步下面LDAP服务器中显示的“testgroup”组的JSON有效负载:
JSON示例:{"name": "testgroup", "description": "This groups already exists in ldap", "autoJoin": false, "realm": "ldap", "realmAttributes": "ldapGroupName=testgroup;groupsStrategy=STATIC;groupDn=cn=testgroup,ou=support,ou=UserGroups,dc=openstack,dc=org"}
自定义LDAP超时/ LDAP引用策略
目前,要在Artifactory中自定义LDAP超时/ LDAP引用策略,您需要将下面的属性添加到artifactory.system.property
.
“artifactory.security.ldap.connect。timeoutMillis'用于连接。缺省值:10000ms的artifact .security.ldap.socket。timeoutMillis的readreply超时。缺省值:15000ms的artifacts .security.ldap。referralStrategy用于引用策略(值可以是'follow', 'ignore', 'throw')。默认值:follow
强制LDAP组的属性动态搜索
在Artifactory 7.37.9中,您可以通过设置属性来强制组中属性的动态内部搜索真正< forceAttributeSearch > < / forceAttributeSearch >
Config描述符。
< ldapgroupsettings >demo true
非ui认证缓存
您可以将系统配置为针对外部系统(如LDAP)缓存关于REST API请求的身份验证数据。这意味着当用户第一次需要进行身份验证时,系统将向外部系统查询该用户的权限、组设置等。从外部系统接收的信息将缓存一段时间,您可以在
JFROG_HOME美元/ artifactory / var / etc / artifactory / artifactory.system.properties
通过设置
artifactory.security.authentication.cache.idleTimeSecs
财产。
这意味着一旦用户通过身份验证,而身份验证数据被缓存,Artifactory将使用缓存的数据,而不是查询外部系统,从而实现更快的身份验证。
默认设置为300秒。
REST API
缓存只与REST API请求相关,而与使用UI无关。
Docker缓存请求需要Docker v2令牌
Docker请求的缓存需要使用Docker v2令牌。启用了基于令牌的认证的Docker客户端或智能远程存储库,总是在初始请求中引用v2令牌,并适用于所有Docker命令类型(Pull, Push等)。然后将检索到的令牌用于对Artifactory的所有后续请求。例如,当使用相同的Docker Pull请求拉Docker层时。
避免使用明文密码
将LDAP密码以明文形式存储在磁盘上的settings.xml中是一个很大的安全威胁,因为这个密码非常敏感,用于SSO到域中的其他资源。2022世界杯阿根廷预选赛赛程
在使用LDAP时,我们强烈建议使用JPD的加密密码在您的本地设置中。
防止身份验证回退到本地Artifactory领域
在某些情况下,作为管理员,您可能需要用户使用其LDAP密码通过LDAP对自己进行身份验证。
但是,如果用户在系统中已经有一个带有密码的内部帐户,则可以将系统设置为在LDAP身份验证失败时返回使用其内部密码。
可以通过确保设置了“编辑用户”对话框中的“禁用内部密码”复选框来防止这种回退身份验证。
使用LDAPS(安全LDAP)
要使用具有来自Java信任的CA的有效证书的LDAPS,您所需要做的就是在设置中使用安全的LDAP URL,例如,ldap: / / secure_ldap_host: 636 / dc = sampledomain, dc = com
.
如果希望将LDAPS与非受信任(自签名)证书一起使用,请执行中描述的步骤使用TLS证书作为客户端.
针对SaaS客户的安全LDAP,不支持自签名证书。