设为首页 收藏本站
查看: 1441|回复: 0

[经验分享] jenkins 全局安全设置

[复制链接]

尚未签到

发表于 2018-9-4 09:39:40 | 显示全部楼层 |阅读模式
  说明:以下内容引用自博文:http://blog.csdn.net/jmyue/article/details/9763021
  http://www.lai18.com/content/2417621.html 这两篇博文对jenkins 全局安全设置都有很详细的介绍。
  在默认配置下,jenkins是没有安全检查的。任何人都可以以匿名用户身份进入jenkins,设置Jenkins和Job,执行build操作。但是,Jenkins在大多数应用中,尤其是暴露在互联网的应用中,安全控制是非常重要的。安全控制主要解决两个问题:哪些用户可以进入Jenkins; 进入Jenkins的用户可以做些什么事。如何进入安全设置界面:
  1、在Jenkins的主界面,点击"系统管理"----> configure Global Security 选项
DSC0000.png

  2、进入Jenkins的系统安全设置界面。安全界面如下图。接下来将分别介绍各个选项的功能。
DSC0001.png

  启用安全
  启用安全,如果启动此项,你必须使用“用户名/密码”登录才能配置和执行构建。如果Jenkins在内网环境(或者是一个"可信任"的环境),通常会禁用此项,以便项目开发人员能够配置他们自己的项目,而不用麻烦管理员 ; 如果Jenkins暴露在公网环境,你最好启用此项,Jenkins如果在一个不安全的环境下可能会遭到***的***.
  JNLP节点代理的TCP端口
  Jenkins使用一个TCP端口和JNLP节点代理通讯. 通常这个端口号是随机选取的,以避免冲突,但是这对于系统来说是不固定的.如果不使用JNLP节点代理, 推荐禁用TCP端口.另一种选择就是指定一个不变的端口号,以便防火墙做对应的设置. 这里如果没有出现问题,建议不要更改,直接默认随机选取就可以了。
  Disable remember me
  选择此选项将删除“记住我在这台计算机上的登录”复选框。每次输入用户名密码都必须手动输入,而不能让浏览器记住用户名和密码。
  访问控制
  接下来就是最重要的访问控制了。这里的设置可给Jenkins的用户设置权限,使某些用户无法使用某些功能,或者直接无法登录系统。
  访问控制有两个子选项:
  1、安全域 :决定用户名和密码,且指定用户所属的组。
  2、授权策略:分配用户执行某些操作的权限。
  Jenkins专用用户数据库:Jenkins本身有个数据库来管理用户,不过这个数据库的容量比较小,当有大量用户时,这种策略就不合适。在这种策略下,如果允许任何人通过注册Jenkins的形式,可以勾”允许用户注册“。这样非用户在进入Jenkins界面后,可以通过 点击右上角的“注册”按钮进行注册,然后再登录使用Jenkins。  如果不允许他人随便注册和使用该Jenkins,就要取消“允许用户注册”复选框。此时如果想添加新的用户,只能由已注册用户(或管理员)通过"系统管理"—>管理用户 —>新建用户进入 “Jenkins专有用户数据库”界面,通过点击”创建新用户“来注册新的用户。
  LDAP:很多组织用LDAP目录来管理用户,Jenkins也支持这种安全策略,不过需要进行一些参数的配置,配置方法可以参考LDAP Plugin Wiki(https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin) 。如果没有特殊要求,大部分的高级设置都可以空着。
  servlet 容器代理:如果你的Jenkins 运行在像Tomcat或GlassFish 等服务器上,这些服务器本身就有安装控制,选择这种安全策略,就可以非常管理地让服务器接管Jenkins的安全缺控制问题。
  授权策略
  
  任何用户可以做任何事(没有任何限制):这种是最简单,同时也是最不安全的授权策略,它不执行任何授权,任何人都能完全控制Jenkins,这包括没有登录的匿名用户。(这种情况对于可信任的环境(比如公司内网)非常有用,或者你只是使用授权做一些个性化的支持,这样的话,如果某人想快速的更改Jenkins,他就能够避免被强制登录)
  安全矩阵:在这种授权模型中,你可以通过一个大的表格来配置什么用户可以做什么事.(每一列代表一个权限,把鼠标移动到权限名称上可以查看更详细的权限说明信息)
  每一行代表一个用户或组(通常称为'角色',取决于安全域)这其中包含特殊用户‘anonymous’,其代表未登录 用户,同样还有‘authenticated’,其代表所有已认证的用户(也就是除了匿名用户的所有用户)可以使用表格下方的输入框来添加 新的用户/组/角色到表格中,并且可以点击[x] l 图标将其从表格中删除。
  登录用户可以做任何事:这种授权模式下,每个登录用户都持有对Jenkins的全部控制权限.只有匿名用户没有全部控制权,匿名用户只有查看权限.
  这种授权模式的好处是强制用户登录后才能执行操作,这样你可以随时记录谁都做了什么操作.这种设置也适用于公共使用的Jenkins,只有你信任的人才拥有账户.
  遗留模式 :适用于Jenkins1.164以前的版本.也就是说,如果你是"admin"角色,那么你将拥有Jenkins的一切控制权,其它角色(包括匿名用户) 只有查看权限.
  项目矩阵授权策略 :这个授权模型扩展自“安全矩阵”,允许把下面的ACL(访问控制列表)矩阵附加到每个项目定义中(在Job 配置页面)
  这允许你宣布类似这样的声明"john能够访问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来设置。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562304-1-1.html 上篇帖子: jenkins 配置实例(Linux) 下篇帖子: Jenkins 持续集成平台构建之通过svn提交代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表