Jenkins -- 通过config.xml操作用户权限

关于如何配置Jenkins权限,网上随便谷百下“Jenkins权限配置”就有大量文章,在这里就不重复说明了。
总结一下就是,Jenkins是通过将权限赋予给角色,再将角色分配给用户来配置用户权限的。

在这里,我想说的是如何通过直接操作服务器上的config.xml文件来将角色分配给用户。

这个文件在服务器的地址为 Jenkins_home/config.xml,示例如下:

<useSecurity>true</useSecurity>
<authorizationStrategy class="com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy">
  <roleMap type="globalRoles">
    <role name="admin" pattern=".*">
      <permissions>
        <permission>hudson.model.Hudson.Read</permission>
        <permission>hudson.model.Hudson.Administer</permission>
        <permission>hudson.model.View.Delete</permission>
        ...
      </permissions>
      <assignedSIDs>
        <sid>admin</sid>
      </assignedSIDs>
    </role>
    <role name="anonymous" pattern=".*">
      <permissions>
        <permission>hudson.model.Hudson.Read</permission>
      </permissions>
      <assignedSIDs>
        <sid>anonymous</sid>
      </assignedSIDs>
    </role>
  </roleMap>
  <roleMap type="projectRoles">
    <role name="Online Program" pattern="GeoQPortal|GeoQUserPortal">
      <permissions>
        <permission>hudson.model.Item.Read</permission>
        <permission>hudson.model.Item.Build</permission>
        ...
      </permissions>
      <assignedSIDs>
        <sid>caox</sid>
        <sid>wangwh</sid>
        <sid>yuh</sid>
        <sid>chenjj</sid>
        <sid>lim</sid>
        <sid>zhangy</sid>
      </assignedSIDs>
    </role>
    <role name="test" pattern="Compress">
      <permissions>
        <permission>hudson.model.Item.Delete</permission>
        <permission>hudson.model.Item.Read</permission>
        ...
      </permissions>
      <assignedSIDs>
        <sid>wangwh</sid>
      </assignedSIDs>
    </role>
  </roleMap>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
  <disableSignup>false</disableSignup>
  <enableCaptcha>false</enableCaptcha>
</securityRealm>

1、在 authorizationStrategy 标签下,有两个roleMap,分别是 globalRoles 和 projectRoles ,它们代表了全局角色和项目角色。(PS:项目角色仅具有查看项目的权限,而不具有查看Jenkins系统的权限。)

2、在 roleMap 中,role 标签代表的就是角色,下面的permission标签就是角色拥有的具体的权限。比如:

hudson.model.Hudson.Administer

上面这个是对Jenkins系统的管理权限

hudson.model.Hudson.Read

而这个是对Jenkins系统的可视权限

等等,就不一一列举了。

3、assignedSIDs 标签内,是一个用户sid列表,在这个列表中的用户,都将被分配这个角色。
因此,如果某个用户需要什么权限,则需要将权限加入到role标签下的permission列表中,然后将用户sid写入assignedSIDs,并重启服务器。这一步很重要,只有重启服务器,重新配置的config文件才能生效。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值