Jenkins的权限控制和Rundeck的远程认证
1.权限控制的基本设置
1.1选择基于角色权限的分配策略

1.2 配置全局权限和项目权限



具体的权限对应关系见下表:
| Overall(全局) | Credentials(凭证) | Slave(节点) | Job(任务) | View(视图) | |||||||||||||||||||||||
| Administer | Read | RunScripts | UploadPlugins | ConfigureUpdateCenter | Create | Update | View | Delete | ManageDomains | Configure | Delete | Create | Disconnect | Connect | Build | Create | Delete | Configure | Read | Discover | Build | Workspace | Cancel | Create | Delete | Configure | Read |
| 管理员(最大) | 阅读 | 运行脚本 | 升级插件 | 配置升级中心 | 创建 | 更新 | 查看 | 删除 | 管理域 | 配置 | 删除 | 创建 | 断开连接 | 连接 | 构建 | 创建 | 删除 | 配置 | 阅读 | 重定向 | 构建 | 查看工作区 | 取消构建 | 创建 | 删除 | 配置 | 阅读 |
添加项目角色时,需要制定匹配项目的模式,如上图中的Pattern,官方文档介绍该选项支持正则表达式,如“Roger-.”表示所有以Roger-开头的项目,“(?i)roger-.*”表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为“ABC|ABC.*”,也可以使用“abc|bcd|efg”直接匹配多个项目。
项目角色与全局角色的区别就是:
项目角色是用来管理项目的,没有对Jenkins的管理权限。
而全局角色更加侧重于对于Jenkins的管理。
1.3 配置完权限后将权限下放到具体的用户

2.Overall下的read和job下的read的纠结

首先问题的源头是对于Anonymous的设置
匿名用户在登录的时候需要被赋予最基本的Overall的read权限(不然什么也看不见)和Job中的Discover权限:如果匿名用户(没有访问job的权限)直接访问一个Job的Url将重定向到登陆页面---这个就是后面的问题所在wget的时候需要带上用户名密码

同样的为什么之前wget -P命令即便不加user+password也可以直接下载Jenkins,因为之前guest权限或者说匿名用户的访问权限中拥有对于Job的读取权限,不需要登录就可以直接访问到,但是由于目前我们做访问控制所以这个选项铁定不能选job-read。
3.Rundeck上用wget命令下载Jenkins资源时报403 Forbidden
没有进行权限设置之前下载Jenkins的资源用的是下面的命令

在设置了权限之后还是用这个命令Linux就报403错误了

本人菜鸟闹腾了半天也没有出来,随即内事百度!
4.查阅官方手册+stackoverflow
查找问题先通过百度进行一波过滤。。。若搜索不到明显的解决方案或者说回答很少立马转向google
通过goole我们现在overstackflow上狗刨式搜索了一遍答案,诸如以下:


最后在google搜索的第三个结果中,把我指引到了Jenkins官方文档手册如下图所示

通过简单的判断我得出了,因为Jenkins权限控制了之后,远端wget命令的时候是通过guest用户来进行访问的,而guest我们没有给它设置读取job的权限,所以应该在远端将登陆的用户名和密码带上
故得到 --http-user为登陆用户名 --http-password为密码
url后面?token是在job中配置的,token作为远程触发的一个身份验证令牌

当然我们目前解决问题的话只需要wget的时候带上用户名密码即可(在Jenkins上建立一个专门用来进行远程download的用户),token有需要的话也可以加上
所以rundeck的命令就成了如下的形式

5.解决问题
最终实现用户权限的下放,并成功与Rundeck实现交互。
Jenkins的权限控制和Rundeck的远程认证的更多相关文章
- Jenkins进阶系列之——13修改Jenkins权限控制
说明:本方法适用于安全矩阵和项目矩阵授权策略的Jenkins. 很多童鞋在使用jenkins的时候忘记配置权限或者权限配置错误,然后各种蛋疼.最近闲着无事,折腾了下.好了,闲话少扯. Jenkins的 ...
- redis密码设置、访问权限控制等安全设置
redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下. 1.比较安全的办法是采用绑定IP的方式来进行控制. 请在redis.conf文件找到如下配置 # If y ...
- Hive权限控制和超级管理员的实现
Hive权限控制 Hive权限机制: Hive从0.10可以通过元数据控制权限.但是Hive的权限控制并不是完全安全的.基本的授权方案的目的是防止用户不小心做了不合适的事情. 先决条件: 为了使用Hi ...
- Jenkins通过Publish over SSH插件实现远程部署
Jenkins通过Publish over SSH插件实现远程部署 步凑一.配置ssh免秘钥登录 部署详情地址:http://www.cnblogs.com/Dev0ps/p/8259099.html ...
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- 七、spring boot 1.5.4 集成shiro+cas,实现单点登录和权限控制
1.安装cas-server-3.5.2 官网:https://github.com/apereo/cas/releases/tag/v3.5.2 下载地址:cas-server-3.5.2-rele ...
- Binder IPC的权限控制
PS:个人理解:当进程1通过Binder调用组件2时,会将进程1的pid及uid赋给组件2,并检测进程1的pid及uid是否有权限调用组件2.而后组件2需要调用组件3,此时组件2保存的pid及uid为 ...
- chmod a+w . 权限控制 su、sudo 修改文件所有者和文件所在组
对当前目录对所有用户开放读写权限 chmod a+r . $ sudo chmod -R a+w /usr/lib/python2.7 所有用户添加文件的写权限 [linux]su.sudo.sudo ...
- Web Service学习-CXF开发Web Service的权限控制(二)
Web Service怎样进行权限控制? 解决思路:server端要求input消息总是携带实username.password信息,假设没实username和password信息.直接拒绝调用 解决 ...
随机推荐
- 用iis虚拟目录和windows共享目录上传文件到远程
现在有这样一个需求,有主机A和主机B.主机A上发布了一个网站,现在往主机A上上传文件默认是存在主机A上的, 如何把文件传到主机B上呢? 第一步在主机A和主机B上都创建同一个帐号admin,密码admi ...
- JQuery获取和设置select下拉框的值
获取Select : 获取select 选中的 text : $("#sid").find("option:selected").text(); 获取selec ...
- 设置Android程序图标和程序标题
修改程序名称 在/res/values/strings.xml中修改程序名称,例如: <string name="app_name">你的程序名称</string ...
- Spring_day04--SSH框架整合过程
SSH框架整合过程 第一步 导入jar包 第二步 搭建struts2环境 (1)创建action,创建struts.xml配置文件,配置action (2)配置struts2的过滤器 第三步 搭建hi ...
- pushViewController自定义动画http://blog.csdn.net/ralbatr/article/details/22039233
本文转载至 http://blog.csdn.net/ralbatr/article/details/22039233 实现的主要代码如下: CATransition *transition = ...
- 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案
http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...
- Android得到SD卡文件夹大小以及删除文件夹操作
float cacheSize = dirSize(new File(Environment.getExternalStorageDirectory() + AppConstants.APP_CACH ...
- vue 添加过滤器-以格式化日期为例
vue的filter和angular的pipe管道类似,是过滤器 官网:https://cn.vuejs.org/v2/guide/filters.html 添加格式化日期的全局过滤器 在main.j ...
- HDU_5533_Dancing Stars on Me
Dancing Stars on Me Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Ot ...
- hdu1568&&hdu3117 求斐波那契数前四位和后四位
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1568 题意:如标题所示,求斐波那契数前四位,不足四位直接输出答案 斐波那契数列通式: 当n<=2 ...