制品倉庫工具的權(quán)限管理最終都是為了解決用戶和倉庫之間的操作關(guān)系侍郭。不同工具間的差異主要就是在兩者之間如何做映射莹汤。最簡單的當(dāng)然就是用戶直接和倉庫之間進(jìn)行關(guān)聯(lián)帝牡。
直接權(quán)限管理
但顯然這種管理方式帶來的就是維護(hù)成本太大麻惶,要對每個(gè)用戶每個(gè)倉庫進(jìn)行權(quán)限維護(hù)距误。
分組權(quán)限管理
進(jìn)而衍生出對用戶和倉庫做相應(yīng)的分組喇嘱,然后再以分組的形式進(jìn)行權(quán)限映射茉贡。
引入分組,用戶相對于用戶分組是固定的者铜,倉庫對于倉庫分組是固定的腔丧,因此維護(hù)量就集中在了用戶分組和倉庫分組上面。對于倉庫的維護(hù)的工作量做了一定的簡化作烟。
Nexus權(quán)限管理
Nexus的權(quán)限管理基本就是直接采用的“分組權(quán)限管理”的方式愉粤。
略有差異的是
- Nexus對于用戶分組定義為Role,User和Role的關(guān)系是M:N拿撩。Role支持從LDAP導(dǎo)入分組衣厘。
- Nexus對于倉庫做了權(quán)限的細(xì)化,使用了Privilege的概念進(jìn)行管理压恒。每個(gè)倉庫都拆分為了create/delete/update/read四種method影暴。Role和Privilege的關(guān)系是M:N。Privilege支持Catalog級的劃分探赫,即所有的Maven倉庫CRUD型宙、NPM倉庫CRUD。
Artifactory權(quán)限管理
Nexus的權(quán)限管理接近于“用戶+倉庫分組權(quán)限管理”的管理方式伦吠。
略有差異的是
- Artifactory將用戶分組和倉庫的映射管理包裝在了一個(gè)Permission里面妆兑,一個(gè)Permission包括多個(gè)用戶分組和倉庫魂拦。
- Permission里面存放了用戶分組(也可以直接是用戶)和倉庫的引用,在Permission里面配置用戶分組和倉庫的關(guān)系搁嗓。
-
Group支持從LDAP導(dǎo)入芯勘。