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

相关文章
|
3月前
|
安全 jenkins Devops
Jenkins 安全性和权限管理
【8月更文第31天】随着 DevOps 实践的普及,Jenkins 已经成为许多组织中不可或缺的一部分,用于自动化软件开发生命周期中的构建、测试和部署流程。然而,随着 Jenkins 的广泛应用,其安全性也变得越来越重要。Jenkins 提供了一系列的安全特性,包括访问控制列表(ACL)、认证和授权机制,以确保只有经过适当授权的用户才能访问和操作 Jenkins 系统。本文将详细介绍如何配置 Jenkins 的 ACL 以及其他安全措施,以保护 Jenkins 服务器免受未授权访问和攻击。
223 0
|
安全 jenkins 持续交付
jenkins权限管理
jenkins权限管理
66 0
|
jenkins 持续交付 数据安全/隐私保护
|
安全 jenkins 持续交付
Jenkins 用户角色权限管理
Jenkins 一般用作团队项目持续集成环境,所以就会设计多用户的情况,我们需要为不同人员设置不同的角色,进行权限管理。
Jenkins 用户角色权限管理
|
jenkins 持续交付 数据安全/隐私保护
|
18天前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
40 2
|
3月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
6天前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
19天前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
45 4
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
69 0