采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方。很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了。
其实Jenkins是一个很敏感的地方。由于需要方便CI,Jenkins本身会得到很多权限,比如某些机器的SSH登录权限,源码库访问权限,它的构建空间也会保存很多信息。
如果持有恶意的人得到了Jenkins的访问权限它可以干很多非法勾当,举几个触目惊心的例子:

  1. 跑到工作项目窃取源码。
  2. 修改源码,build,上线,这样可以拿到服务器端几乎所有权限。只要想,拖库,修改后台数据, rm -rf 基本上都可以做到。
  3. 污染客户端,比如在客户端上种个木马,窃取手机数据,把客户端当肉鸡。。。

安全无小事,Jenkins的安全还是要上心的。
作为维护者,最基本的事情就是阅读Jenkins的安全文档,虽然这份文档很简单,做好远不止这些,但是考虑里边的风险并作出防护算是最基本的要求。
:https://wiki.jenkins-ci.org/display/JENKINS/Securing+Jenkins

这篇文章会介绍最基础的地方,就是用户权限管理。Jenkins本身提供三种权限管理

1.内建的用户管理。这是最简单的一种方式。在确认维护jenkins的人不多,且权限分配不复杂的时候,可以使用这种方法。

2.使用 Active Directory (主要在Windows下) ,这样可以继承windows网络的管理权限。

3.LDAP方式。如果部署在linux上,使用LDAP方式是一种省事的方法。权限本质上是一个矩阵,LDAP提供的机制足够用了。同时,使用LDAP,会省去创建很多账号的麻烦,使用者也省去了维护多个账号的麻烦。如果有上下游产品(比如Jira)也使用LDAP,则可以系统管理员统一来管理这些账号(一般可以委托给运维人员管理一部分权限),从总体上效率会提高很多。

配置的方法,下面文档写的非常详细,就不细讲了。
https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup

配置后,有一个很重要的事情就是,分配权限。jenkins提供了还算是比较细的权限矩阵,可以根据需要配置。 一个需要注意的就是,权限尽量遵从最小权限原则。安全是多层的概念,每一层多一些保护,受到攻击的概率就会降低一些。

参考文章:
https://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E6%9D%83%E9%99%90%E5%8E%9F%E5%88%99

https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin#LDAPPlugin-Configuration

转载于:https://www.cnblogs.com/skytraveler/p/6387670.html

Jenkins拾遗--第三篇(用户权限管理)相关推荐

  1. jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查

    CI持续集成流程 pipeline jenkins安装pipeline插件: 简单使用: 查看流水线语法: 片段生成器: 2.0以后推荐使用声明式语法:右侧下拉框是一些步骤,都可以自动生成 Decla ...

  2. ASP.NET MVC 企业级实战 —— 创建用户权限管理范例程序(三)

    上一篇,主要讲解了模型的创建和利用Entity Framework来操作数据库,这篇我们会讲解如何创建控制器和视图. 由于最近很多网友反馈在VS 2012 无法安装NBlock框架模版,故再次声明,N ...

  3. 数据库—用户权限管理(三十三)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.概述 二.用户权限类型 ​三.用户赋权 四.权限删除 五.用户删除 前言 数据库用户权限管理是指对数据库用户的权限进行 ...

  4. SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (三) 鉴权

    项目Github地址: https://github.com/baiye21/ShiroDemo SpringBoot 基于Shiro + Jwt + Redis的用户权限管理 (一) 简介与配置 S ...

  5. MySQL(入门篇18)SQLyog 的用户权限管理 ; SQL语句的用户权限管理。

    一.SQLyog 的用户权限管理 1. 创建用户 2. 修改账号和密码 1.登入刚拿创建的jarvan2改账号和密码. 3. 查看和修改权限 4. 点击历史SQL代码就能看到图形化界面对应的SQL语句 ...

  6. java用户权限管理与角色设置(一)

    实现业务系统中的用户权限管理--设计篇 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览 ...

  7. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...

  8. Hive用户权限管理理解

    HiverServer2支持远程多客户端的并发和认证,支持通过JDBC.Beeline等连接操作.hive默认的Derby数据库,由于是内嵌的文件数据库,只支持一个用户的操作访问,支持多用户需用mys ...

  9. mysql服务器权限说明,MySQL用户权限管理详解

    用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP ...

最新文章

  1. 派生类参数初始化列表和基类构造函数顺序
  2. android route命令详解,route cmd命令详解
  3. php 长文本_php字符串太长怎么办
  4. python的快速入门-Python如何快速入门的基础知识
  5. usaco2013 mar【懒惰的奶牛】
  6. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization
  7. C语言 十六进制整数字符串转十进制整数
  8. 深入学习http协议(转)
  9. flash文件制作笔记
  10. 想不到,那些让我半夜偷偷收藏的沙雕表情包,竟是出自AI之手
  11. 在Visual Studio Code中配置GO开发环境
  12. oracle树状排序,Oracle树状结构查询
  13. springboot logback自定义配置文件路径
  14. 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest题解
  15. 大数据开发笔记(四):Hive数仓调优
  16. acer clear 工具_创作与电竞的全新体验 2019台北电脑展Acer派对开启
  17. JSTL(c标签)与Struts2(s标签)标签的常用功能对比
  18. 微信怎么和计算机发送文件格式,微信电脑版文档怎么弄 文档发送教程
  19. linux中patch补丁的文件格式和使用
  20. LeetCode之K sum problem

热门文章

  1. 大型网站技术架构:核心原理与案例分析 mobi_阿里面试官:你会高并发技术吗?...
  2. 域名解析可以带端口吗_带互感器的三相电表接线,S2可以不接地吗?ABC相序可以错吗?...
  3. Android自定义弹窗模仿微信,Android仿微信右上角点击加号弹出PopupWindow
  4. rfc3095中文版_RFC3095
  5. 综合评价模型的缺点_视频/图像质量评价综述(一)
  6. springboot图书管理怎么实现借书时间到期提醒_今日图书丨有了这个,图书管理再也没烦恼!...
  7. 重塑技术引擎 阿里落地全球最大规模云原生实践支撑双11
  8. 树莓派该文件名_树莓派学习笔记(2):常用linux命令
  9. python人头识别_python+opencv实现人头检测
  10. java窗口代码_Java系列教程day01——java的搭建环境