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

[经验分享] Jenkins的授权和访问控制

[复制链接]

尚未签到

发表于 2018-9-4 06:35:04 | 显示全部楼层 |阅读模式
  默认的Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等。显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题。 在系统管理-Configure Global Security页面可以“访问控制”进行相应的设置。如下图:

  Jenkins的权限配置文件存放在JENKINS_HOME目录。进入JENKINS_HOME目录,找到config.xml文件。打开config.xml,里面有一堆的东西,找找。。。找到了和节点。节点代表是否使用用户权限,节点代表用户权限是怎么划分的。
  1) Security Realm,用来决定用户名和密码,且指定用户属于哪个组;
  2) Authorization Strategy,用来决定用户对那些资源有访问权限;
一、详细讲解4种授权策略
  1、任何用户可以做任何事(没有任何限制)
  1)页面设置如下图:

  2)config.xml脚本如下:

true  
  
  
  
  
    true
  
    false
  
  

  2、登录用户可以做任何事
  1)页面设置如下图:

  2)config.xml脚本如下:

true  
  
  
  
  
    false
  
    false
  
  

  3、安全矩阵
  1)页面设置如下图:

  2)config.xml脚本如下:

true  
  
  
    hudson.model.Hudson.Administer:jenkins
  
    hudson.model.Hudson.Read:anonymous
  
    hudson.model.Hudson.Read:dev
  
    hudson.model.Item.Build:dev
  
    hudson.model.Item.Read:anonymous
  
    hudson.model.Item.Read:dev
  
  
  
  
  
    false
  
    false
  
  

  设置好权限之后,点击注册,注册相应的账号,如上图的dev,jenkins。
  4、项目矩阵授权策略
  说明:安全矩阵项目矩阵授权策略的配置是一模一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。
  这种策略在工作中用得较多,比如针对不同的项目选择不同的用户具有不同权限。
  1)页面设置如下图:

  各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):
Overall(全局)Credentials(凭证)Slave(节点)Job(任务)View(视图)AdministerReadRunScriptsUploadPluginsConfigureUpdateCenterCreateUpdateViewDeleteManageDomainsConfigureDeleteCreateDisconnectConnectBuildCreateDeleteConfigureReadDiscoverBuildWorkspaceCancelCreateDeleteConfigureRead管理员(最大)阅读运行脚本升级插件配置升级中心创建更新查看删除管理域配置删除创建断开连接连接构建创建删除配置阅读重定向构建查看工作区取消构建创建删除配置阅读  其中有一些比较特别的权限:
  最大的权限是Overall的Administer,拥有该权限可以干任何事情。
  最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。
  Job的Discover权限是一个奇葩的权限,帮助说Discover比Read的级别更低。如果匿名用户(没有访问job的权限)直接访问一个Job的Url将重定向到登陆页面。(经测试,这个权限应该是被废弃了。)
  Credentials的ManageDomains这个权限没有看懂干嘛的,有懂的大家一起交流哈!
  ps:如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限。
  2)config.xml脚本如下:

true  
  
  
    hudson.model.Hudson.Administer:admin
  
    hudson.model.Hudson.Read:anonymous
  
    hudson.model.Item.Build:dev
  
    hudson.model.Item.Read:anonymous
  
    hudson.model.Item.Read:dev
  
  
  
  
  
    false
  
    false
  
  

  3)每个用户后都有1-2个图标,第一个是反选功能(删除当前已选择的权限,选择其他所有权限),第二个是删除功能(删除该用户)

  4)在Job中配置项目安全,如下图:

二、遇到的问题
  由于授权出错,导致无法登录,具体可参考http://www.cnblogs.com/yangxia-test/p/4363566.html操作。

  最后给大家说说在配置文件里面怎么辨别使用是哪种权限控制模式
  节点上有个class属性,这个属性控制着使用那种授权模式。
hudson.security.FullControlOnceLoggedInAuthorizationStrategy登录用户可以做任何事hudson.security.ProjectMatrixAuthorizationStrategy项目矩阵授权策略hudson.security.GlobalMatrixAuthorizationStrategy安全矩阵hudson.security.LegacyAuthorizationStrategy遗留模式  本文出自http://www.cnblogs.com/yangxia-test/p/4368778.html



运维网声明 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-562147-1-1.html 上篇帖子: ​Jenkins自定义build name 下篇帖子: Jenkins使用教程之用户权限管理(包含插件的安装)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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