admin管理员组文章数量:1794759
jenkins 权限控制插件 Role
Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分。该插件可以很灵活的根据需求来进行划分权限,包括正则匹配等
插件名称: Role-based Authorization Strategy
插件介绍: Enables user authorization using a Role-Based strategy. Roles can be defined globally or for particular jobs or nodes selected by regular expressions.
实现需求:
1、开发环境需要一个通用用户,需要对开发环境的所有项目拥有只读的权限 2、测试环境需要一个通用用户,需要对测试环境的所有项目拥有只读的权限 3、其他环境暂时不创建用户
系统用户: 1、dev:dev环境所需用户 2、test:test环境所需用户
jenkins 项目命名规则介绍: 开发环境:所有项目的名称均以dev-开头,如:dev-cg-api 测试环境:所有项目的名称均以test-开头,如:test-cg-api
好,下面开始配置:
一、安装插件
打开jenkins系统管理,单击管理插件,找到可选插件,输入插件名称,然后点击直接安装即可
如果你已经安装过该插件,则在已安装一栏中可以看到该插件
二、配置项目安全策略
1、配置全局安全策略 点击系统管理,点击Configure Global Security 在该页面中选择授权策略为:Role-Based Strategy
2、配置Manage and Assign Roles策略 1)配置Manage Roles 在Manage Roles中有两种角色 Global roles用来分配全局策略,而 Project roles根据项目环境来分配项目权限
下面来配置Global roles中的三个角色:
admin:超级管理员,它拥有所有的全局权限 dev_roles:dev环境的用户,它只可以看到全局的Overall面板 test_roles:test环境的用户,它只可以看到全局的Overall面板先说下,这里为什么要添加dev_roles和test_roles的Overall的read权限,如果不添加的话,这些普通用户登录到jenkins则会提示:用户没有Overall/read权限
下面来配置 Project roles 中的两个角色:
分别为:dev_roles和test_roles
dev_roles:匹配所有dev-.*的项目,并分配view、read及workspace等权限 test_roles:匹配所有test-.*的项目,并分配view、read及workspace等权限2)配置Assign Roles 上面的roles和权限已经配置好了,那怎么让他生效呢?或者说让谁拥有这些roles的权限呢? 下面我们来将定义好的规则分配给具体的用户,前面我们提到了系统用户,那么我们现在有两个用户:dev and test
先来配置Global roles
之前我们在dev_roles和test_roles中定义了overall/read权限,现在将用户和roles关联起来,这样dev和test用户就拥有了改权限
接着配置Item roles
之前我们在Project roles中定义了dev_roles和test_roles规则,分别对应dev-.和test-.的项目及权限,在这里我们将用户和roles关联起来,这样对应的用户就拥有了对应roles的权限。
好,到这里配置已经完成,我们接下来进行验证
三、验证
1、以admin用户登录jenkins
2、以dev用户登录jenkins
3、以test用户登录jinkins
版权声明:本文标题:jenkins 权限控制插件 Role 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686590307a85149.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论