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

原创 2017年06月29日 10:31:50

关于如何配置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文件才能生效。

版权声明:喵创文章, 盗版必究~

config.xml of Jenkins

Jenkins 有两类config.xml: 在Jenkins home之下的config.xml是Jenkins server的配置文件。 另外在每个job或project自己的目录下,还有一个...
  • OnlyQi
  • OnlyQi
  • 2011年12月19日 18:10
  • 7396

Jenkins进阶系列之——13修改Jenkins权限控制

说明:本方法适用于安全矩阵和项目矩阵授权策略的Jenkins。 很多童鞋在使用jenkins的时候忘记配置权限或者权限配置错误,然后各种蛋疼。最近闲着无事,折腾了下。好了,闲话少扯。 Je...
  • wangmuming
  • wangmuming
  • 2014年04月04日 12:17
  • 13094

jenkins的config.xml转jenkins job builder使用的yaml

我们已经有了比较标杆的CI项目,需要将其变成JJB能使用的YAML文件。 于是,找到了Jenkins Job Wrecker...
  • yyw794
  • yyw794
  • 2017年06月25日 09:14
  • 793

Jenkins权限设置误操作后的补救

第一次鼓捣Jenkins安全设置,没有给自己分配最高权限,导致自己变成普通用户,相当于门锁上把钥匙关进去了。 解决办法就是: 关闭Jenkinsc:/用户/zhuming/.jenkins/c...
  • u010037124
  • u010037124
  • 2014年08月10日 14:26
  • 1978

Jenkins Job Builder 配置文件

本文简要介绍Jenkins Job Builder工具,并非全面介绍,主要侧重于配置文件的编写,以及Openstack具体使用JJB方面的介绍,以便为我们CI环境的使用提供参考。...
  • get_set
  • get_set
  • 2016年04月20日 19:28
  • 3761

Jenkins用户配置

添加第一个用户 步骤是系统管理-启用安全-访问控制-Jenkins专有用户数据库-安全矩阵,如图 save后,在jenkins home(/var/lib/je...
  • ruisheng_412
  • ruisheng_412
  • 2012年10月17日 21:29
  • 21265

Jenkins批量修改项目中的config.xml并生效

移动/拷贝/重命名 job 通过脚本修改config.xml的相应主机ip地址。然后直接网页上面刷新Jenkins状态 由于每个jobs都有自己单独的目录,我们可以很容易的修改后执行下面的命令刷新...
  • qq_33588470
  • qq_33588470
  • 2017年04月27日 14:54
  • 548

修改Jenkins权限控制(闲的蛋疼)

转载:http://blog.csdn.net/wangmuming/article/details/22925961 说明:本方法适用于安全矩阵和项目矩阵授权策略的Jenkins。 ...
  • qq_39871625
  • qq_39871625
  • 2017年09月24日 18:33
  • 88

第6章 Jenkins – Configuration

在之前的练习中需要在Jenkins中对item进行配置。在这个章节将显示Jenkins中的各种配置选项。通过点击菜单左侧的“Manage Jenkins”按钮,能获取Jenkins各种配置选项。  ...
  • henni_719
  • henni_719
  • 2016年09月12日 17:45
  • 409

Jenkins检查代码规范配置

Jenkins简介                          Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现...
  • yoyodeng1992
  • yoyodeng1992
  • 2014年01月09日 13:51
  • 2576
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jenkins -- 通过config.xml操作用户权限
举报原因:
原因补充:

(最多只允许输入30个字)