Jenkins的权限管理

Jenkins的权限管理

Jenkins自己自带安全管理的功能,可是通常状况下不多去使用,更可能是使用插件的方式进行更加灵活的处理。
Jenkins的权限管理须要依赖Jenkins的权限管理插件。经过配置插件role-base,能够很方便给不一样用户不一样job的管理和执行权限。vim

安装插件

在系统管理、插件管理中搜索role-base 插件,进行安装:
Jenkins的权限管理安全

Jenkins的权限管理

搜索 Role-base安装:
Jenkins的权限管理ide

安装完成以后,在“配置全局安全”中,能够看到已经添加了 role-base的相关选项:
Jenkins的权限管理工具

选中以后,保存当前配置,在管理界面,能够发现已经有了有一个角色管理的工具:
Jenkins的权限管理插件

点击进入以后,就能够对咱们的用户进行管理。code

权限分配

这里建立一个dev的用户,并分配一个job作为示例。
建立dev用户,系统管理中,选择用户管理:
Jenkins的权限管理xml

选择右侧的建立用户:
Jenkins的权限管理blog

配置用户名和密码信息:
Jenkins的权限管理jenkins

在系统管理,中进入刚刚安装的role-base工具中,建立一个dev的角色:
Jenkins的权限管理it

建立一个dev的角色,并只授予读的权限:
Jenkins的权限管理

此时已经添加了一个dev的全局角色,在角色分配界面,添加dev-1用户到dev的角色中:
Jenkins的权限管理

这里须要注意的是,以前admin或root的权限选项不要移除,不然这些用户可能没法登陆。
此时若是使用dev-1的用户登陆,发现没有任何job,由于尚未建立dev-1用户具备权限查看的job:
Jenkins的权限管理

此时,建立一个新的job,并分配权限给dev-1用户:
Jenkins的权限管理

这里能够根据具体的需求建立对应的job, 示例选择建立一个hello world:
Jenkins的权限管理

咱们能够给dev-job单首创建一个视图:
Jenkins的权限管理
配置视图的类型:
Jenkins的权限管理
指定视图对应的job:
Jenkins的权限管理

在角色管理界面,添加对应的项目角色,可使用正则的方式匹配对应的job名称:
Jenkins的权限管理

而后在角色分配界面,添加咱们的dev-1用户,到项目角色中:
Jenkins的权限管理

此时,dev-job对应的权限分配就完成了,能够经过登陆dev-1用户,查看当前的job执行权限:
Jenkins的权限管理

权限配置错误后管理员没法登陆解决

1.中止jenkins

systemctl stop jenkins

2.修改config.xml

# vim /var/lib/jenkins/config.xml
<useSecurity>true</useSecurity>

修改成:

<useSecurity>false</useSecurity>

删除:

<authorizationStrategy …/>和<securityRealm …>到</securityRealm>

例如删除如下内容:

<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"/>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

3.启动jenkins

# systemctl start jenkins

4.登陆jenkins,从新配置权限。

相关文章
相关标签/搜索