jenkins自带了一些全局性的安全配置。 但无法通过job等相对细粒度的来控制使用者的权限。但它可以借助相关的插件实现细颗粒的权限控制。
插件: Role-based Authorization Strategy
需要在configure global security中配置授权策略如下:
保存后, 系统管理页面会有Manage and Assign Roles操作选项:
- 管理角色(manage roles):
可以创建全局角色、项目角色,并可以为角色分配权限。
项目角色与全局角色的区别就是,项目角色只能管理项目,没有管理jenkins的权限配置。
Pattern选项支持正则表达式,如"Roger-."表示所有以Roger-开头的项目,"(?i)roger-.*"表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为"ABC|ABC.*",也可以使用"abc|bcd|efg"直接匹配多个项目。
- 分配角色(assign roles):
为用户分配所属角色,可以分配全局角色和项目角色。