使用通配符为托管的docker注册表命名空间配置Sonatype Nexus 3权限

时间:2017-02-20 12:51:01

标签: permissions wildcard nexus docker-registry sonatype

我已经为Docker安装了Sonatype Nexus 3 OSS和托管存储库(Docker的私有注册表)。我希望有几个用户,可以根据他们的权限提取/推送泊坞窗图像。

第一种方式,我怎么做 - 是为docker创建几个托管存储库,然后通过Securiy创建 - >权限使用存储库视图,这种方法基于确切的存储库配置权限:

username:   repository name:    permission:

user1       docker-internal-1   nexus:repository-view-:docker:docker-internal-1:read
user2       docker-internal-1   nexus:repository-view-:docker:docker-internal-1:add

user3       docker-internal-2   nexus:repository-view-:docker:docker-internal-2:read
user4       docker-internal-2   nexus:repository-view-:docker:docker-internal-2:add

这种方法有效,但它需要为docker提供多个托管存储库。

我的问题是 - 是否有可能为Docker安装一个单独的托管存储库,然后根据docker存储库名称空间配置权限?

所以,假设我有一个名为 docker-internal 的存储库,然后我有这样的权限:

username:   repository name:    permission:

user1       docker-internal     nexus:repository-view-:docker:docker-internal/namespace1:read
user2       docker-internal     nexus:repository-view-:docker:docker-internal/namespace1:add

user3       docker-internal     nexus:repository-view-:docker:docker-internal/namespace2:read
user4       docker-internal     nexus:repository-view-:docker:docker-internal/namespace2:add

不幸的是在Nexus 3 documentation我找不到使用存储库视图权限的方法,因为它们只允许您指定存储库名称,但没有命名空间。然后有通配符这样的东西,它在Sonatype docs中描述,例如“Wildcard - >这些是使用模式对其他权限进行分组的权限。”所以我试图像这样创建一些正则表达式模式:

nexus:repository-view:docker:docker-internal/namespace1:read

不幸的是它不起作用。

0 个答案:

没有答案