例如,user1创建了一个job1,可以在node1上执行,其中jenkins slave代理通过user1的凭证连接到host1。
存在安全风险:
我们怎样才能避免这种情况?
我已经在使用角色策略并让用户处于不同的角色,例如JobCreator / Editor / NodeCreator等。但它无法解决问题:我们当然有超过1个用户拥有例如JobCreator或编辑角色。
有什么建议吗?
答案 0 :(得分:1)
假设“使用角色策略”引用允许的Role Strategy Plugin:
创建项目角色,允许仅基于项目设置“作业”和“运行”权限。
允许通过应用正确的项目模式阻止 user2 编辑 job1 。
创建从属角色,允许设置与节点相关的权限。
允许通过应用正确的 node 模式阻止 user3 在 node1 上执行作业。
注意:不幸的是,插件页面上的用户指南已经过时:它没有提到奴隶角色。此外, Slave roles → Pattern 的内联帮助也是错误的。它只是项目角色的内联帮助的C& P。