Nexus 添加用户及权限设置

如何给 Nexus 添加用户、设置权限、并绑定角色。

Nexus 添加用户及权限设置

分析

设置 nexus 权限大致分为 3步

  • 第一步是定义特权(privileges),即设置每个操作的最小单元,比如针对仓库的 查看(view)、创建(create)、读取(read)、删除(delete)权限等。
  • 第二步是创建角色(role),即将一个或多个特权组合起来,构成具有某些特权的角色,比如管理员,匿名用户,只读用户等。
  • 第三步是为用户绑定角色,即将第二步定义的角色,绑定到某个具体的账户上,使之拥有对应的权限。

操作

下面是具体操作示例。

  • 登录 nexus
    使用管理员权限的账户登录 nexus:http://nexus.xxxxx.cn

  • 新建一个仓库
    点击 Views/Repositories -> Repositories,在点击 Add -> Hosted Repository,按照下图示例添加一个新仓库,最后点击 save 保存。
    注意:我们这里是创建 Release 仓库,因此下面的 Repository Policy 选择 Release:
    image

  • 添加 privilege 特权
    点击 Security -> Privileges,再点击 Add -> Repository Target Privilege,按照下图示例添加一个新仓库,最后点击 save 保存。
    注意:Repository 需要选择前面一步创建好的仓库,然后仓库类型选择All(Maven2):
    image
    这一步完成后,会生成以下5个特权:

    • C3 Release - (create)
    • C3 Release - (delete)
    • C3 Release - (read)
    • C3 Release - (update)
    • C3 Release - (view)
  • 添加 Role 角色
    点击 Security -> Roles,再点击 Add -> Nexus Role,按照下图示例添加一个新角色,最后点击 save 保存。
    注意:Role/Privlege Management 一栏中,Role 必须具有 Artifact UploadArtifact Download 权限才能上传和下载 Maven 应用;同时,我们可以将创建的 release 仓库 和 snapshot 仓库特权都加进来,使得这一个角色可以同时管理两个仓库:
    image

  • 添加 User 用户并绑定角色
    点击 Security -> Users,再点击 Add -> Nexus User,按照下图示例添加一个新用户,最后点击 save 保存。
    注意:Role Management 一栏中,一个具有某仓库 Master 权限的 User,应该绑定以下角色给他:

    • C3 Master # 仓库的 Master 角色
    • UI: Base UI Privileges # 登录 Web 界面
    • UI: Health Check (Summary) # 仓库 Web 界面健康检查
    • UI: Repository Browser # 仓库 Web 界面浏览
    • UI: Search # 仓库 Web 界面搜索
    • Nexus API-Key Access # 调用 API 接口

    Artifact UploadArtifact Download 权限才能上传和下载 Maven 应用;同时,我们可以将创建的 release 仓库 和 snapshot 仓库特权都加进来,使得这一个角色可以同时管理两个仓库:

    image

结果

最后,用户登录过后的界面如下:

image

参考资料:

https://stackoverflow.com/a/51186071/5723841