美文网首页
【Jenkins系列】-权限管理

【Jenkins系列】-权限管理

作者: DevOps在路上 | 来源:发表于2021-11-28 23:27 被阅读0次

在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的view, 只能看到自己项目的jenkins job.

但是,jenkins默认的权限管理体系不支持用户组或角色的配置,这里利用Role-based Authorization Strategy实现上述目的

权限角色配置#

直接跳过插件安装,介绍如何基于“项目”配置.

1. 启用 Role-based Authorization Strategy#

进入系统管理 > Configure Global Security ,配置如下,此时该策略已启用

注意:策略启用之后,不禁止修改!策略之间是独立的,一旦选择另外一中策略,当前策略将丢失,包括已生效的配置。

2. 创建 Glabal roles 和 Project roles#

进入系统管理 > Manage and Assign Roles

ManageRoles
- Global roles是对全局的角色控制
- Project roles只针对项目进行控制,所以需要为每个项目单独添加指定的role (区别于全局,只能有项目相关权限,没有jenkins管理权限配置)
配置job pattern需要注意:prod.代表匹配以prod开头的内容例如:如果以dev开头就写成 dev. 一定要加上"."; .*test表示以test结尾的内容项目

注意:必须先进行Global roles的配置后方可对Project roles进行配置,可以解为先配置整体性权限,再按项目分权限,遵守从大到小权限控制的原则!

3. Roles 配置规则和流程#

这里强制规定项目role配置规则和流程

3.1 为项目/团队添加 project role#

以“demo”项目为例,添加manager和user两种role

    - role:demo-manager - pattern: "^demo-[a-zA-Z]*"    
    - role:demo-user      - pattern: "^demo-[a-zA-Z]*"
  • 在实际使用中,可以为"项目/团队"创建两种role, 甚至一个都可以
  • pattern是通过“正则表达”匹配为项目创建的jenkins job, 所有命名需要规范,简单,一个表达式可以匹配多个项目拥有的job.这里参考"demo"项目
  • 3.2 为项目/团队成员分配 role#

    通过以下配置,开发团队成员就只能看到自己的"demo"项目

    添加用户-LDAP#

    jenkins 默认可以手动添加用户,由于简单不做解释;这里重点说下企业内部使用LDAP来实现用户的统一管理,也就是说无须再次创建用户

    需要使用LDAP插件,然后在Configure Global Security 页面进行配置,输入公司内部LDAP服务信息。

    注意:

  • jenkins 默认使用“Jenkins' own user database”,即自己本身的数据库,一旦切换,当前配置数据可能丢失,所以切忌随意修改该配置 !

  • 在配置LDAP前,一定要记得开启匿名用户的 admin 权限,否则一旦配错,自己就无法登录了!

  • 相关文章

    • 【Jenkins系列】-权限管理

      在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的vi...

    • Jenkins常用插件全集

      用户及权限 Jenkins 用户权限管理是Jenkins Administration中非常很重要的环节,由于大部...

    • 学习Jenkins,这里没有废话

      Jenkins:持续集成及Jenkins介绍 Jenkins:安装和持续集成环境配置 Jenkins:用户权限管理...

    • 0315-百人计划-Jenkins第二讲-持续集成系列Jenki

      主讲人:老徐 安装Jenkins 默认安装之后需要设置权限。 在哪里设置权限?打开Jenkins-系统管理。 准备...

    • jenkins权限管理

      需求:jenkins控制台根据应用环境而创建视图,如创建dev/test/uat/prod的视图,每个视图内根据项...

    • Jenkins 权限管理

      如何针对 Jenkins 里的不同 Job 进行不同的策略管理。比如某个 Job 所有人都可以查看,但仅限于某些人...

    • Jenkins权限管理

      Jenkins安装Jenkins构建androidJenkins构建mavenJenkins构建nodejs应用发...

    • Jenkins_用户权限&凭证管理

      一,Jenkins用户权限 可以利用Role-based Authorization Strategy 插件来管理...

    • Jenkins用户新增

      前言 正式系统中,涉及到用户权限的管理,需要新增多个用户并赋予权限 方法 登录Jenkins,依次打开“系统管理”...

    • gitlab-ci的一些疑问

      由于觉得jenkins太过重,并且公司内部的jenkins权限管理导致不好进行尝试,因此转而考虑用gitlab-c...

    网友评论

        本文标题:【Jenkins系列】-权限管理

        本文链接:https://www.haomeiwen.com/subject/ilkkxrtx.html