如何强制Jenkins安全性以防止用户在其他用户的帐户下执行命令

时间:2015-10-23 16:42:54

标签: security jenkins

例如,user1创建了一个job1,可以在node1上执行,其中jenkins slave代理通过user1的凭证连接到host1。

存在安全风险:

  • User2可以编辑此job1,并在host1上运行user1名称中的任何命令。
  • 或者user3可以创建新的job2以连接到node1并使用user1的帐户在host1上运行任何命令

我们怎样才能避免这种情况?

我已经在使用角色策略并让用户处于不同的角色,例如JobCreator / Editor / NodeCreator等。但它无法解决问题:我们当然有超过1个用户拥有例如JobCreator或编辑角色。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

假设“使用角色策略”引用允许的Role Strategy Plugin

  

创建项目角色,允许仅基于项目设置“作业”和“运行”权限。

允许通过应用正确的项目模式阻止 user2 编辑 job1

  

创建从属角色,允许设置与节点相关的权限。

允许通过应用正确的 node 模式阻止 user3 node1 上执行作业。

注意:不幸的是,插件页面上的用户指南已经过时:它没有提到奴隶角色。此外, Slave roles Pattern 的内联帮助也是错误的。它只是项目角色的内联帮助的C& P。