Jenkins配置基于角色的项目权限管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Jenkins配置基于角色的项目权限管理本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理。由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用RoleStrategyPlugin,介绍页面:一、配置插件安装插件后,进入系统设置页面,配置如下:官网上安全域设置为Servlet容器代理,实际操作发现Jenkins专有用户数据库也是可以的。二、配置权限在系统管理页面点击ManageandAssignRoles进入角色管理页面:1、管理角色(ManageRoles)选择该项可以创建全局角色、项目角色,并可以为角色分配权限。如上图,分别创建了admin、anonymous两个全局角色,OnlineProgram、test两个项目角色。项目角色与全局角色的区别就是,项目角色只能管理项目,没有管理jenkins的权限配置。添加项目角色时,需要制定匹配项目的模式,如上图中的Pattern,官方文档介绍该选项支持正则表达式,如“Roger-.”表示所有以Roger-开头的项目,“(?i)roger-.*”表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为“ABC|ABC.*”,也可以使用“abc|bcd|efg”直接匹配多个项目。2、创建用户在分配角色之前需要先创建用户。在系统管理页面,点击管理用户:点击新建使用者可以创建新用户,如果之前有项目与scm版本管理系统(如svn、git等)连接并获取源码构建过,jenkins会从svn中读取到一些用户信息,可以在查看用户菜单中看到这些用户:点击用户id或名称都可以修改用户信息。3、分配角色(AssignRoles)选择AssignRoles可以为用户分配所属角色,可以分配全局角色和项目角色。如上图,将不同的用户分别分配给不同的角色,这样用户就可以具有角色所拥有的权限。三、深入了解该插件从2011年10月发布1.1.2版本后就不再维护了,因此会有一些小问题,但不影响使用,比如在分配角色后点击保存按钮时有可能会发生异常,浏览器点击后退按钮后重新提交就可以操作成功。另外如果配置失败导致不能登录,可以通过修改配置文件恢复初始设置。首先了解一下配置文件。进入jenkins安装目录,用户配置信息和角色配置信息都以配置文件的形式存储。上图中users目录存放了各个用户的配置信息,每个用户都会创建与用户名相同的文件夹,文件夹中包含config.xml文件,配置示例如下:?xmlversion='1.0'encoding='UTF-8'?userfullNameadmin/fullNamepropertiesjenkins.security.ApiTokenPropertyapiTokenEfowsOP9H5arYxMmuFrbPjjITgu/fjtvHib5okFJ9DmPTu/088cvHxlE9RHwVv+S/apiToken/jenkins.security.ApiTokenPropertyhudson.model.MyViewsPropertyviewshudson.model.AllViewownerclass=hudson.model.MyViewsPropertyreference==hudson.model.View$PropertyList//hudson.model.AllView/views/hudson.model.MyViewsPropertyhudson.search.UserSearchPropertyinsensitiveSearchfalse/insensitiveSearch/hudson.search.UserSearchPropertyhudson.security.HudsonPrivateSecurityRealm_-DetailspasswordHashuAEYii:02e0cd0d78abf90e42b28e7d3d4fe64776ae8fa9500e379f2598cc65e1b0fb70/passwordHash/hudson.security.HudsonPrivateSecurityRealm_-Detailshudson.tasks.Mailer_-UserPropertyemailAddressgaoliang@esrichina.com.cn/emailAddress/hudson.tasks.Mailer_-UserProperty/properties/user角色配置在$Jenkins_home/config.xml文件中,示例如下:useSecuritytrue/useSecurityauthorizationStrategyclass=com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategyroleMaptype=globalRolesrolename=adminpattern=.*permissionspermissionhudson.model.Hudson.Read/permissionpermissionhudson.model.Hudson.Administer/permissionpermissionhudson.model.View.Delete/permissionpermissionhudson.model.Computer.Create/permissionpermissionhudson.model.Computer.Delete/permissionpermissionhudson.model.Hudson.RunScripts/permissionpermissionhudson.model.View.Read/permissionpermissionhudson.model.Run.Update/permissionpermissionhudson.model.Item.Workspace/permissionpermissionhudson.model.Computer.Connect/permissionpermissionhudson.model.Computer.Configure/permissionpermissionhudson.model.Item.Cancel/permissionpermissionhudson.model.Item.Configure/permissionpermissionhudson.model.Item.Discover/permissionpermissionhudson.model.Item.Create/permissionpermissionhudson.model.View.Configure/permissionpermissionhudson.model.Computer.Disconnect/permissionpermissionhudson.model.Item.Delete/permissionpermissionhudson.model.Item.Read/permissionpermissionhudson.model.Item.Build/permissionpermissionhudson.model.Run.Delete/permissionpermissionhudson.model.View.Create/permissionpermissionhudson.scm.SCM.Tag/permission/permissionsassignedSIDssidadmin/sid/assignedSIDs/rolerolename=anonymouspattern=.*permissionspermissionhudson.model.Hudson.Read/permission/permissionsassignedSIDssidanonymous/sid/assignedSIDs/role/roleMaproleMaptype=projectRolesrolename=OnlineProgrampattern=GeoQPortal|GeoQUserPortalpermissionspermissionhudson.model.Item.Read/permissionpermissionhudson.model.Item.Build/permissionpermissionhudson.model.Run.Delete/permissionpermissionhudson.model.Item.Workspace/permissionpermissionhudson.model.Run.Update/permissionpermissionhudson.scm.SCM.Tag/permissionpermissionhudson.model.Item.Cancel/permissionpermissionhudson.model.Item.Discover/permission/permissionsassignedSIDssidcaox/sidsidwangwh/sidsidyuh/sidsidchenjj/sidsidlim/sidsidzhangy/sid/assignedSIDs/rolerolename=testpattern=Compresspermissionspermissionhudson.model.Item.Delete/permissionpermissionhudson.model.Item.Read/permissionpermissionhudson.model.Item.Build/permissionpermissionhudson.model.Run.Delete/permissionpermissionhudson.model.Item.Workspace/permissionpermissionhudson.model.Run.Update/permissionpermissionhudson.scm.SCM.Tag/permissionpermissionhudson.model.Item.Cancel/permissionpermissionhudson.model.Item.Configure/permissionpermissionhudson.model.Item.Discover/permission/permissionsassignedSIDssidwangwh/s

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功