6

我已经安装了 Nexus 2.0.6,并且与我的 LDAP 服务器的集成正在运行(仅限身份验证)。有没有办法配置 Nexus,以便只有一组开发人员能够部署给定的工件或组?

我基本上不希望团队 A 中的开发人员部署团队 B 负责的工件。

4

2 回答 2

6

您可以使用此 Sonatype 博客文章中描述的存储库目标、权限和角色对存储库进行分区。几个月前我对此进行了测试,它似乎运行良好。

于 2012-07-03T16:10:56.707 回答
2

在 Nexus 2.0.1 下,这是我已经完成并验证的解决方案。

警告:
这允许将“工件上传”选项限制为目录层次结构。
这与“部署”或与“发布准备”结合使用并不完全相同。

脚步:

  1. 从目前拥有它的所有用户中删除“工件上传”的单一特权,即您不想拥有它。

  2. 创建包含要授予访问权限的目录掩码的“Repository-Target”。前任。 .*/com/mycompany/target-dir/.*
    仔细检查掩码,它以句点星号开头并以句点星号结尾。

  3. 创建映射到您刚刚创建的 Repository-Target 的“Repository-Privilege”。通常,我在此存储库特权名称中包含存储库名称,例如“releases.com.mycompany.target-dir”。这将为所述目录创建 CRUD 条目 (4)。

  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 的原因。

  5. 如果用户不存在,则创建用户,分配密码。

  6. 给用户以下角色:
    Nexus Deployment
    Repo:所有 Maven 存储库(读取)
    UI:基本 UI 权限
    Upload.Role.Relases.Target-Dir

点击保存,你就知道了。稍后,您可以使用相同的方法为其他存储库(例如快照或第 3 方)创建新角色,并保持相同的目录掩码。

于 2013-08-08T15:17:59.527 回答