我已经安装了Nexus 2.0.6,并且与我的LDAP服务器的集成正在运行(仅限身份验证)。有没有办法配置Nexus,以便只有一组开发人员能够部署给定的工件或组?
我基本上不希望团队A中的开发人员部署B团队负责的工件。
答案 0 :(得分:6)
您可以使用in this Sonatype blog post所述的存储库目标,权限和角色对存储库进行分区。几个月前我对它进行了测试,看起来效果很好。
答案 1 :(得分:2)
在Nexus 2.0.1下,这是我已经完成并验证的解决方案。
警告:
这允许将“工件上载”选项限制为目录层次结构
这与“部署”或与“发布准备”结合使用并不完全相同。
步骤:
从目前拥有它的所有目标中删除“Artifact Upload”的单一权限,您不想拥有它。
创建“Repository-Target”,其中包含您要授予访问权限的目录掩码。防爆。 .*/com/mycompany/target-dir/.*
仔细检查掩码,它以句号星号开头,以句号星号结束。
创建映射到刚创建的Repository-Target的“Repository-Privilege”。通常,我在此repository-privilege-name中包含repo-name,例如“releases.com.mycompany.target-dir”。这将为所述目录创建CRUD条目(4)。
接下来,根据您刚创建的存储库权限(4),加“工件上传”创建“角色”。该角色共有5个条目。使用此处的“应用过滤器”可帮助您找到这些项目。我将此角色命名为“Upload.Role.Releases.Target-Dir”。同样,完成后,该角色应该有5个条目:
神器上传
com.mycompany.target-dir(创建)
com.mycompany.target-dir(删除)
com.mycompany.target-dir(阅读)
com.mycompany.target-dir(update)
这就是将上传角色限制在此repo.directory的内容。
如果用户尚不存在,请创建用户,指定密码。
为用户提供以下角色:
Nexus部署
回购:所有Maven存储库(阅读)
UI:基本UI权限
Upload.Role.Relases.Target-Dir
点击保存,你就知道了。稍后,您可以使用相同的方法为其他repos(例如Snapshot或3rd Party)创建新角色,并保留相同的目录掩码。