Jenkins的权限管理

简介:

Jenkins的权限管理

Jenkins本身自带安全管理的功能,但是一般情况下很少去使用,更多是使用插件的方式进行更加灵活的处理。
Jenkins的权限管理需要依赖Jenkins的权限管理插件。通过配置插件role-base,可以很方便给不同用户不同job的管理和执行权限。

安装插件

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

Jenkins的权限管理

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

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

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

点击进入之后,就可以对我们的用户进行管理。

权限分配

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

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

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

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

创建一个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,重新配置权限。



 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/2055698

相关文章
|
7月前
|
安全 jenkins 持续交付
jenkins权限管理
jenkins权限管理
36 0
|
jenkins 持续交付 数据安全/隐私保护
|
安全 jenkins 持续交付
Jenkins 用户角色权限管理
Jenkins 一般用作团队项目持续集成环境,所以就会设计多用户的情况,我们需要为不同人员设置不同的角色,进行权限管理。
Jenkins 用户角色权限管理
|
22天前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
2天前
|
安全 jenkins Java
Java一分钟之-Jenkins持续集成服务器
【6月更文挑战第5天】Jenkins是Java开发中的关键工具,用于自动化构建、测试和部署,确保CI/CD。本文概述了Jenkins常见问题及解决方案:安装时注意依赖和网络;谨慎选择并更新插件;正确配置SCM触发器;使用Declarative Pipeline定义清晰的Jenkinsfile;集成JaCoCo和SonarQube确保质量;采用蓝绿部署等策略避免直接在生产环境部署未经验证的代码。理解并解决这些问题能提升Jenkins的效率和可靠性。
15 3
|
22天前
|
jenkins Java 持续交付
实战指南:运用Jenkins实现Java项目的持续集成与自动化部署
【4月更文挑战第17天】Jenkins是一款强大的开源CI/CD工具,广泛用于Java项目的自动化构建、测试和部署。通过配置Jenkins环境、创建Job、设定构建触发器和步骤,实现持续集成和部署。集成Maven、Git等工具,确保代码质量并加速上线。持续部署阶段,Jenkins可将工件发布至远程服务器或云环境,实现高效、稳定的自动化流程。实践过程中,关注工作流优化、配置备份和服务器状态监控,以提升整体开发效率和软件质量。
|
22天前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成(5/5)
Docker Swarm总结+Jenkins安装配置与集成(5/5)
75 0
|
22天前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
51 0
|
9月前
|
jenkins 持续交付 开发工具
如何基于Docker搭建jenkins集成开发环境?建议收藏
如何基于Docker搭建jenkins集成开发环境?建议收藏
107 1