前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins的权限控制和Rundeck的远程认证

Jenkins的权限控制和Rundeck的远程认证

作者头像
翎野君
发布2023-05-12 19:39:51
3910
发布2023-05-12 19:39:51
举报
文章被收录于专栏:翎野君翎野君

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实现交互。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.权限控制的基本设置
    •  1.1选择基于角色权限的分配策略
      • 1.2 配置全局权限和项目权限
        • 1.3 配置完权限后将权限下放到具体的用户
        • 2.Overall下的read和job下的read的纠结
        • 3.Rundeck上用wget命令下载Jenkins资源时报403 Forbidden
        • 4.查阅官方手册+stackoverflow
        • 5.解决问题
        相关产品与服务
        多因子身份认证
        多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档