Jenkins系列之-—04 配置用户和权限控制

一、安装插件

插件名称:Role-based Authorization Strategy

Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目。

二、安全配置——授权策略配置

系统管理—>全局安全配置(Configure Global Security ),其中共有五种授权策略

1. Role-Based Strategy

1.1. 选择授权策略中的Role-Based Strategy,并点击保存

1.2. 选择系统管理—>Manage and Assign Roles (管理和分配角色)

在新开的页面中有如下3个菜单:

  • Manage Roles
  • Assign Roles
  • Role Strategy Macros

1.3. 选择"Manage Roles"进行角色配置。

【Global roles】全局角色配置:

添加wts这个角色并进行授权

【Project roles】项目角色配置:

添加了三个项目角色:uat,dev和test。dev用于管理开发环境的项目,test用于管理测试环境的项目。

Pattern:对构建的项目名称进行匹配,可以使用正则表达式。

【Slave roles】从属角色配置:

  • 1.4.选择Assign Roles,分配角色

在全局角色中添加普通用户,并将普通用户加入到全局角色wts中,保证它们可以正常登录jenkins。

在项目角色中添加普通用户,并根据实际需求勾选项目角色,这样不同的用户可以对不同项目有管理权限。

2. 任何用户可以做任何事(没有任何限制)

项目内不推荐用

3. 登录用户可以做任何事

可勾选项---Allow anonymous read access(允许匿名读取访问)

4. 遗留模式

适用于Jenkins1.164以前的版本.也就是说,如果你是"admin"角色,那么你将拥有Jenkins的一切控制权,其它角色(包括匿名用户) 只有查看权限.

5. 安全矩阵

选择安全矩阵 (在配置页面将鼠标放到对应权限上即可查看帮助):

其中有一些比较特别的权限:

Overall 的Administer 【最大权限】,拥有该权限可以干任何事情。

Overall的Read【最基本的权限】,用户必须赋予阅读的权限,不然什么都看不到。

注:

每个用户后都有2个图标,第一个是全选功能,第二个是清空功能

6. 项目矩阵授权策略

说明:安全矩阵项目矩阵授权策略的配置是一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。

三、踩到的坑

问题描述

首次配置jenkins的安全策略时,选择安全矩阵,但是没有给任何用户付权限,点击保存后。管理员登录失效。重新登录系统提示admin没有Overall/Read权限的异常。

解决方案:修改jenkins的config.xml配置文件。

3.1. 通过查看jenkins进程查看JENKINS_HOME的目录

ps -ef | grep jenkins

3.2. 编辑jenkins的config.xml这个配置

命令:vi /var/lib/jenkins/config.xml

配置文件如图: 
 
需要修改的是红线圈起来的部分。 
在该标签内加入以下配置即可。

<permission>hudson.model.Hudson.Administer:anonymous</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:anonymous</permission>
<permission>hudson.model.Hudson.Read:anonymous</permission>
<permission>hudson.model.Hudson.RunScripts:anonymous</permission>
<permission>hudson.model.Hudson.UploadPlugins:anonymous</permission>

修改后的配置文件,如下图:

3.3 重启jenkins服务即可。

原文地址:https://www.cnblogs.com/liuyitan/p/9288860.html

时间: 2024-08-27 13:39:33

Jenkins系列之-—04 配置用户和权限控制的相关文章

为Kubernetes dashboard访问用户添加权限控制

为Kubernetes dashboard访问用户添加权限控制 [TOC] 1. 需求 在开发环境给开发人员创建应用部署管理权限,可以使用dashboard的token和kubeconfig文件登录,并在开发人员机器上安装kubectl命令,可以使用kubectl port-forward命令. 2. 方案 因为我们用到了dashboard和kubeapps,所以他们的rbac权限都要分配. 创建namespace:dev 创建ServiceAccount:dev-user1 给相应权限,并绑定

使用JavaEE的ServerAuthModule模块和web.xml进行相应配置,实现对用户的权限控制

ServerAuthModule这里不细说,可以自行百度. 重点在注释: <!-- 给web-app划分角色 --> <security-role> <role-name>spx.main</role-name> </security-role> <security-role> <role-name>spx.user</role-name> </security-role> <!-- 只有配置

Linux命令:MySQL系列之十--MySQL用户和权限管理、mysql管理员密码重置

MySQL用户账号包括:用户名@主机名 用户名:16个字符以内 主机:主机有以下几种表现方式 主机名: mysql,www.magedu.com IP地址: 172.16.90.111 网络地址:172.16.0.0/255.255.0.0 通配符:%,_   %:任意字符  _:任意一个 172.16.%.%     %.magedu.com 权限级别:全局级别.库级别.表级别.列级别.存储过程和存储函数级别 全局级别:SELECT * FROM db\G; 查询全局库级别的权限 ******

简单的RBAC用户角色权限控制

Java web项目中,无论项目是大是小,或多或少都会涉及到用户访问权限的控制,权限管理总体的设计思路就是,不该看的不看,不该做的不做!据我目前的了解,我所知道的几种实现访问权限控制的方式有: JQuery的zTree设计权限树: 权限框架shiro: 基于角色的访问控制RBAC: 这是我所知道的几种权限管理,如果有误或是还有其他的方法,望指正! 而今天我要说的就是基于角色的访问控制RBAC的权限管理,基于角色的访问控制(Role-Based Access Control),在RBAC中,权限与

数据库: 配置用户访问权限

设置用户只能访问某一个数据库 一,打开 MySQL Workbench 8.0 CE 二,我当前需要配置一个用户名只让它 增 删 改 查 这个数据库,其它的数据库对其不可见 三,新建一个用户 三,设置该用户可以访问的数据库 四,设置该用户可以操作的权限 只允许操作表格里面的数据,不允许对表格进行创建和删除等操作 五,登录该用户名查看效果 原文地址:https://www.cnblogs.com/yangfengwu/p/12194823.html

网站web.cofig配置用户的权限

访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未经授权: 服务器配置导致登录失败.请验证您是否有权基于您提供的凭据和 Web 服务器上启用的身份验证方法查看此目录或页.请与 Web 服务器的管理员联系以获得其他帮助. 出现以上错误时,修改一下配置文件即可: <system.web> <authorization> <deny users="?" /> </authori

centos安装svn并创建版本库配置用户分组权限

1.设置aliyun安装源// 本步骤非必须, 使用aliyun安装源后, 执行yum update速度明显提升 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 运行yum makecache生成缓存 执行yum update更新 2.检测是否安装过svn rpm -qa subversion 3.安装svn服务端 yum install subversion 4.查看s

httpd-2.2版本和httpd-2.4版本实现对文件和用户的权限控制以及网页的https的功能

博客作业:分别使用httpd-2.2和httpd-2.4实现 1.建立httpd服务,要求: (1)提供两个基于名称的虚拟主机www1.ipsecx.com,www2.ipsecx.com:有单独的错误日志和访问日志: (2)通过www1.ipsecx.com的/server-status提供状态信息,且仅允许tom用户访问: (3)www2.ipsecx.com不允许172.16.254.180主机访问: 2.为上面的第2个虚拟主机提供https服务: 第一种情况:在httpd-2.2情况下完

MySQL 初学笔记 ① -- MySQL用户登录权限控制

1. MySQL 登录 MySQL -u username -p 2. MySQL 创建用户 use mysql //进入mysql 表 INSERT INTO user (Host,User,Password) VALUES ('%','username',PASSWORD('passwword')); //% 表示任何IP都可访问 可以直接输入IP控制登录 localhost 表示智能本机登录 3. 用户权限管理 1) 设置权限 grant all on db_name.tb_name to