Jenkins Slave 403虽然已启用匿名从属连接

时间:2014-07-05 18:26:54

标签: security jenkins slave

我们正在使用Jenkins Master和Slave(两种Linux)类型设置。最近升级到LTS版本,由于某种原因Slaves仅在Anonymous被授予管理员权限时连接到Master。

我已阅读有关提供匿名从属连接权限的帖子,但在尝试时我收到403请求出现错误。

唯一的办法是提供匿名管理员权限(这是有风险的)保存,然后返回管理Jenkins>配置安全性>删除匿名管理员>添加从属连接权限。 执行此解决方法的问题是,当从属服务器重新启动时,我得到相同的403错误,直到我给予匿名管理员权限。

我试过放下一个没有帮助的新slave.jar。

我们正在使用LDAP绑定帐户,是否可以轻松修复此403问题,而无需再次输入绑定密码(我们最近在Jenkins升级后执行此操作)

1 个答案:

答案 0 :(得分:1)

1.5年后没有什么比得上答案了,但我只是碰到了这个!

我处理此问题的方法是使用Role-Based Strategy plugin

摘要

基础知识是:

  1. 添加并启用Role-Based Strategy plugin
  2. 创建全局组swarmclient
  3. 仅授予swarmclient组奴隶权限
  4. 我目前允许匿名组在swarmclient组中。
    • 将来我可能会拒绝匿名组的swarmclient权限,而是在swarmclient组中创建帐户。
  5. 详细信息

    Manage Jenkins > Configure Global Security > Authorization中,启用基于角色的策略。

    enable Role-Based Strategy

    Manage Jenkins > Manage Roles > Manage and Define Roles中,我向全局角色添加了“swarmclient”。在全局设置的从属部分中授予此组Create权限:

    swarmclient global group privileges

    在较新版本的Jenkins中,术语“Slave”被“Agents”替换

    然后在Manage Jenkins > Manage Roles > Assign Roles中将匿名组添加到swarmclient组:

    assign Anonymous to swarmclient group

    最后,如上所述,如果您希望对可以作为群客户端连接的计算机进行一些限制,只需:

    1. 为群组创建用户
    2. 将它们添加到swarmclient组
    3. 从匿名组中删除swarmclient权限(在“分配角色”上)。