2017-02-20 90 views
3

我已經爲Docker(Docker的私有註冊表)安裝了Sonatype Nexus 3 OSS託管存儲庫。我想擁有幾個用戶,這些用戶將能夠根據他們的權限來推送/推送泊塢窗圖像。使用通配符爲託管碼頭註冊表命名空間配置Sonatype Nexus 3權限

第一種方式,我該怎麼辦呢 - 是創建碼頭工人,然後通過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提供多個託管存儲庫。

我的問題是 - 是否有可能有一個單獨的託管存儲庫的碼頭,然後配置權限,基於碼頭存儲庫命名空間?

所以我們可以說我有一個倉庫稱爲泊塢窗內部,然後我有這樣的權限:

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我還沒有找到一種方法,我怎麼能與repository-做查看權限,因爲它們只允許您指定存儲庫名稱,但沒有名稱空間。然後有通配符,這在Sonatype文檔中描述,如「通配符 - >這些是使用模式分組其他權限的權限。」所以我試圖創建一些像這樣的正則表達式:

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

不幸的是它不起作用。

回答

3

根據Sonatype Nexus支持的回答,目前無法通過docker註冊表中的通配符和命名空間進行操作。所以唯一的工作方式是使用單獨的docker倉庫和倉庫視圖權限。

+0

任何想法,如果這可以使用[內容選擇器](https://books.sonatype.com/nexus-book/3.1/reference/admin.html#content-selectors)? – Jonas

+1

@Jonas目前沒有。 以下是Sonatype支持的答案: >>我相信在我們爲Docker實現內容選擇器後,這是可能的(參考:http://books.sonatype.com/nexus-book/reference3/admin.html#內容選擇器),但目前僅適用於maven2和raw。我也不知道,直到它實施。 –

+0

這可以使用內容選擇器完成 –