我已经安装了 Nexus 2.0.6,并且与我的 LDAP 服务器的集成正在运行(仅限身份验证)。有没有办法配置 Nexus,以便只有一组开发人员能够部署给定的工件或组?
我基本上不希望团队 A 中的开发人员部署团队 B 负责的工件。
您可以使用此 Sonatype 博客文章中描述的存储库目标、权限和角色对存储库进行分区。几个月前我对此进行了测试,它似乎运行良好。
在 Nexus 2.0.1 下,这是我已经完成并验证的解决方案。
警告:
这允许将“工件上传”选项限制为目录层次结构。
这与“部署”或与“发布准备”结合使用并不完全相同。
脚步:
从目前拥有它的所有用户中删除“工件上传”的单一特权,即您不想拥有它。
创建包含要授予访问权限的目录掩码的“Repository-Target”。前任。 .*/com/mycompany/target-dir/.*
仔细检查掩码,它以句点星号开头并以句点星号结尾。
创建映射到您刚刚创建的 Repository-Target 的“Repository-Privilege”。通常,我在此存储库特权名称中包含存储库名称,例如“releases.com.mycompany.target-dir”。这将为所述目录创建 CRUD 条目 (4)。
接下来,根据您刚刚创建的存储库权限 (4) 创建“角色”,加上“工件上传”。该角色共有 5 个条目。使用此处的“应用过滤器”来帮助您找到这些项目。我将此角色命名为“Upload.Role.Releases.Target-Dir”。同样,完成后,该角色应该有 5 个条目:
Artifact Upload
com.mycompany.target-dir(create)
com.mycompany.target-dir(delete)
com.mycompany.target-dir(read)
com.mycompany.target -dir(update)
这是将上传角色限制到此 repo.directory 的原因。
如果用户不存在,则创建用户,分配密码。
给用户以下角色:
Nexus Deployment
Repo:所有 Maven 存储库(读取)
UI:基本 UI 权限
Upload.Role.Relases.Target-Dir
点击保存,你就知道了。稍后,您可以使用相同的方法为其他存储库(例如快照或第 3 方)创建新角色,并保持相同的目录掩码。