我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限

  • 安装Role-based Authorization Strategy插件
    持续集成环境(3)-Jenkins用户权限管理_用户名

  • 开启权限全局安全配置
    持续集成环境(3)-Jenkins用户权限管理_用户名_02
    授权策略切换为"Role-Based Strategy",保存
    持续集成环境(3)-Jenkins用户权限管理_系统管理_03

  • 创建角色
    在系统管理页面进入 Manage and Assign Roles
    点击"Manage Roles"
    持续集成环境(3)-Jenkins用户权限管理_系统管理_04
    Global roles(全局角色):管理员等高级用户可以创建基于全局的角色 Project roles(项目角色):
    针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限
    我们添加以下三个角色:

    • baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
    • role1:该角色为项目角色。使用正则表达式绑定"itcast.*",意思是只能操作itcast开头的项目。
    • role2:该角色也为项目角色。绑定"itheima.*",意思是只能操作itheima开头的项目。
      持续集成环境(3)-Jenkins用户权限管理_用户登录_05
      保存。
  • 创建用户
    在系统管理页面进入 Manage Users
    持续集成环境(3)-Jenkins用户权限管理_用户登录_06
    持续集成环境(3)-Jenkins用户权限管理_用户登录_07
    分别创建两个用户:jack和tom
    持续集成环境(3)-Jenkins用户权限管理_系统管理_08

  • 给用户分配角色
    系统管理页面进入Manage and Assign Roles,点击Assign Roles
    绑定规则如下:
    tom用户分别绑定baseRole和role1角色
    jack用户分别绑定baseRole和role2角色
    持续集成环境(3)-Jenkins用户权限管理_创建用户_09

  • 创建项目测试权限
    以itcast管理员账户创建两个项目,分别为itcast01和itheima01
    结果为:
    持续集成环境(3)-Jenkins用户权限管理_系统管理_10

    • tom用户登录,只能看到itcast01项目
    • jack用户登录,只能看到itheima01项目
    • oo1项目没有