Sonatype nexus :根据存储库名称创建角色

Sonatype nexus : Create role based on repositories name

我实际上正在为一个多团队公司管理一个 Nexus 3 实例,我想将一些存储库专用于某个团队。

更清楚地说,我有一个 团队 A 和一个 团队 B 以及每个团队的 npm、pypi 和原始存储库。

团队 A 无法访问 团队 B 存储库,反之亦然

我的存储库名称是:<team>-<technology>-<maturity>

喜欢:teamA-pypi-release

我想要实现的是为每个团队创建一个角色,授予 Read/Write 对每个团队存储库的访问权限。 我不想为每个存储库创建一个权限(目标是管理大约 130 个团队,每个团队有 3 到 4 个存储库)所以我想要一些简单的东西,可以使用像 <team>-* 这样的通配符,它​​似乎不受支持在存储库查看权限中。

有人对此有任何提示吗?或多租户 Nexus 的一些最佳实践? 也许我想错了:)

谢谢

对于和我有同样问题的人:)

我最终通过为所有团队创建一个存储库(可以像发布和快照存储库一样复制...)实现了这一点,然后您需要团队的内容选择器来过滤视图。

我使用以下查询进行过滤,teamA 示例:

path =~ ".*/" or
format == "raw" and path =^ "/teamA/"

然后我创建了一个由团队与相应的内容选择器创建的权限,其中 * 作为允许的操作。

最后,我为每个团队分配了一个具有以下权限的角色:

  • 我之前创建的内容选择器权限
  • nx-search-read ==> 允许用户从 Nexus GUI 搜索工件
  • nc-component-upload ==> 允许用户从 Nexus Gui 上传工件

有了这个,所有用户只能在他们的专用文件夹中浏览和上传工件。

如果用户不使用 Nexus GUI,则搜索和上传权限不是强制性的。

一个限制是用户可以看到根级别的所有文件夹,但他们看不到其中的大量内容,这不是使用问题。

希望对您有所帮助:)