如何进入安全设置界面

         在Jenkins的主界面,点击 configure Global Security 选项,进入Jenkins的系统安全设置界面。安全界面如下图。在这里我们分别介绍各个选项的功能。
 

启用安全

启用安全,如果启动此项,你必须使用用户名/密码登录才能配置和执行构建,如果Jenkins在内网环境(或者是一个"可信任"的环境),通常会禁用此项,以便项目开发人员能够配置他们自己的项目,而不用麻烦管理员.如果Jenkins暴露在公网环境,你最好启用此项.Jenkins如果在一个不安全的环境下可能会遭到黑客的攻击. 

         当我们选择启用安全时,页面中会展开很多的东西,如下图所示:在增加的内容中,有以下几项(如果安装了其他插件,可能会出现的更多,这里不再介绍)。

JNLP节点代理的TCP端口

Jenkins使用一个TCP端口和JNLP节点代理通讯. 通常这个端口号是随机选取的,以避免冲突,但是这对于系统来说是不固定的.如果不使用JNLP节点代理, 推荐禁用TCP端口.另一种选择就是指定一个不变的端口号,以便防火墙做对应的设置. 这里如果没有出现问题,建议不要更改,直接默认随机选取就可以了。

Disable remember me

选择此选项将删除“记住我在这台计算机上的登录”复选框。每次输入用户名密码都必须手动输入,而不能让浏览器记住用户名和密码。

访问控制

接下来就是最重要的访问控制了。这里的设置可给Jenkins的用户设置权限,使某些用户无法使用某些共能,或者直接无法登入系统。

访问控制有两个子选项:1.安全域。2.授权策略。

安全域说的是用什么作为工具去控制用户的访问,这里的工具我目前理解的也不深刻,就不误导大家了,您如果也是新手的话,直接选择其中的“Jenkins专有用户数据库 ”这一项,并且将允许用户注册选项选中即可。

另一个是授权策略,授权策略是给用户分配具体的权限的。共有五个选项:

1.任何用户可以做任何事(没有任何限制) 不执行任何授权,任何人都能完全控制Jenkins,这包括没有登录的匿名用户. 

这种情况对于可信任的环境(比如公司内网)非常有用,或者你只是使用授权做一些个性化的支持.这样的话,如果某人想快速的更改Jenkins,他就能够避免被强制登录. ;

2.安全矩阵 ,在这种授权模型中,你可以通过一个大的表格来配置什么用户可以做什么事. 

每一列代表一个权限.把鼠标移动到权限名称上可以查看更详细的权限说明信息. 

每一行代表一个用户或组(通常称为'角色',取决于安全域.),这其中包含特殊用户'anonymous',其代表未登录用户,同样还有'authenticated',其代表所有已认证的用户(也就是除了匿名用户的所有用户.) 可以使用表格下方的输入框来添加新的用户/组/角色到表格中,并且可以点击[x]图标将其从表格中删除. ;

3.登录用户可以做任何事,这种授权模式下,每个登录用户都持有对Jenkins的全部控制权限.只有匿名用户没有全部控制权,匿名用户只有查看权限. 

这种授权模式的好处是强制用户登录后才能执行操作,这样你可以随时记录谁都做了什么操作.这种设置也适用于公共使用的Jenkins,只有你信任的人才拥有账户. ;

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

5.项目矩阵授权策略 ,这个授权模型扩展自"安全矩阵",允许把下面的ACL(访问控制列表)矩阵附加到每个项目定义中(在Job配置页面). 

这允许你宣布类似这样的声明"约翰能够访问A,B和C,但是不能访问D."

这里建议大家使用安全矩阵。选中安全矩阵,出现如下界面:

         在添加用户/组的后面输入已经存在的用户的用户名,点击添加,然后在表的相应位置选中相应的功能赋值给用户。

Markup Formatter

选择job description写的html代码是显示代码还是显示html源码。选择raw HTML的时候,显示的是自己写的源代码。选择escaped HTML的时候,显示的是html的源码。

防止跨站点请求伪造

跨站点请求伪造(或CSRF/XSRF),它是一种利用你的身份通过未经授权的第三方手段在网站上执行操作.对于Jenkins进行删除任务,构建或者更改配置. 当启用此项,Jenkins会检查临时生成的值,以及任何导致Jenkins服务器改变的请求.这包括任何形式的提交和远程API调用.

Enable Slave → Master Access Control

允许子节点控制父节点,具体有哪些权限可以被子节点控制。可以在一个通过点击rules can be tweaked here 这句话中的here来设置。如图所示:

jenkins全局安全设置的更多相关文章

  1. linux下jenkins的时区设置问题

    https://blog.csdn.net/king_wang10086/article/details/76178711 [root@jenkins ~]# yum install -y ntpda ...

  2. IntelliJ IDEA default settings 全局默认设置

    可以通过以下两个位置设置IDEA的全局默认设置: 以后诸如默认的maven配置就不需要每次都重复配置了?

  3. Jenkins Maven安装设置

    Jenkins Maven安装设置 如果没有学习过 Maven 的朋友,可以先了解 Maven教程,然后再进一步学习本教程文章. 第1步:下载和设置Maven Maven的官方网站就是Apache M ...

  4. Jenkins Git安装设置

    Jenkins Git安装设置 在此安装中,必须确保Internet连接可连接其安装 Jenkins 机器.在 Jenkins 仪表盘(主屏幕)的左侧单击 Manage Jenkins 选项.打开网址 ...

  5. Jenkins Tomcat安装设置

    Jenkins Tomcat安装设置 以下为必须满足Jenkins Tomcat设置的先决条件. 第1步:验证安装Java 要验证Java安装,打开控制台并执行以下Java命令. OS 任务 命令 W ...

  6. 全局CSS设置

    全局CSS设置 1.清除所有的标记的内外边距 body,ul,li,a,img,p,input{ margin:0; padding:0; } 2.去除项目符号或编号前面的符号 ul,ol,li{ l ...

  7. EMS邮箱数据库全局监控设置

    案例任务:监控TestDB01邮箱数据库的所有邮件,监控邮箱为用户"王淑江"的邮箱. 1.EMS全局监控设置 使用PowerShell完成操作:"王淑江"监控T ...

  8. Jenkins系列之四——设置邮件通知

    Jenkins持续集成,当我们自动打包部署完,我们可以发送一封邮件给相关的负责人.现介绍一下如何在Jenkins中配置实现邮件通知. 在Jenkins中配置实现邮件通知,Jenkins提供了两种方式的 ...

  9. 局部(或全局)设置<a>标签的target属性

            对于超链接<a>标签,target属性的设置是比较关键的,在不同的用户场景下选用适合的新页面载入方式,可以大大的提高访客的体验感.我们一般对target的设置可以挨个来,但 ...

随机推荐

  1. TCP/IP协议头部结构体(网摘小结)(转)

    源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...

  2. HTML5语义化标签重构页面

    在HTML5未出现之前我们都用div+css来构建页面,比如<div id=”header”>,div的滥用,使得代码的可读性和可维护性很差,现在用本文来介绍一下用HTML5′干净的’语义 ...

  3. 【转】Linux正则表达式使用指南

    正则表达式是一种符号表示法,用于识别文本模式.Linux处理正则表达式的主要程序是grep.grep搜索与正则表达式匹配的行,并将结果输送至标准输出. 1. grep匹配模式 grep按下述方式接受选 ...

  4. Oracle行转列的3种方法

    测试表为A3 , 有5个字段:ID1, ID2, ID3, ID4, ID5 测试数据如下: ID1 ID2 ID3 ID4 ID5 1 2 3 4 5 11 22 33 44 55 111 222 ...

  5. IOS开发-UI学习-UITextField的具体属性及用法

    直接上代码,里面有各种属性的用法注释,至于每个属性有多个可以设置的值,每个值的效果如何,可以通过查看这个函数参数的枚举量,并逐一测试. //制作登陆界面 #import "ViewContr ...

  6. cordova环境搭建

    首先,需要了解一下cordova 和 phonegap 的关系.phoneGap是原先的名字,Cordova是phoneGap被捐给apache之后 用的项目名,phoneGap的名字也被保留了. 1 ...

  7. Angular - - angular.forEach、angular.extend

    angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关 ...

  8. @RequestBody和@ResponseBody

    @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象. @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMess ...

  9. Discuz经典函数注释之authcode

    Discuz函数中最经典的函数是authcode函数,因为supesite,UCenterHome,UCenter,Discuz X都使用了这个函数进行加密啊传输串与cookie 今天为大家带来aut ...

  10. No curses/termcap library found

    CentOS6.5中编译Mysql时遇见如下错误 error: No curses/termcap library found checking for tgetent in -lncurses... ...