前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins 基于 Crowd 和 Role-based 插件的角色权限管理

Jenkins 基于 Crowd 和 Role-based 插件的角色权限管理

作者头像
叨叨软件测试
发布2021-04-23 10:33:51
8510
发布2021-04-23 10:33:51
举报
文章被收录于专栏:叨叨软件测试叨叨软件测试

背景

测试环境的 Jenkins 是开发和测试混用的,未做细粒度的权限控制,开发总是构建测试的任务(不提前打招呼),导致测试任务中断,故需要隔离开发和测试用户权限。

PS:我司是使用 Crowd 进行用户的权限管理,来实现所有办公软件的统一登录。

配置

配置约定

  1. Jenkins 任务命名规范:环境标识-项目组或业务标识-具体项目名称,eg:dev-pay-payManager;
  2. Jenkins 视图正则表达式筛选规范:环境标识-.*,eg: dev-.*。

用户组及权限

  1. development:开发人员组,查看开发环境相关的任务(比如:dev、dev2、dev3);
  2. test:测试人员组,查看测试环境相关的任务(比如:sit、open、per);
  3. ops:运维人员组,维护 Jenkins,分配 Admin 权限。

实施步骤

  1. 首先,在 Crowd 配置用户组:development(开发人员组)、test(测试人员组)、ops(运维组),并与 Jenkins 应用关联;
  2. 其次,Jenkins 上使用 Crowd 安全域,即用户和用户组通过 Crowd 获取及认证;
  3. 最后,Jenkins 上配置授权策略为Role-Based Strategy,并配置角色、分配角色。

Crowd 配置用户及用户组

Crowd 配置用户及用户组配置如下:

Jenkins 配置

插件安装

首先,插件管理中安装Crowd 2 IntegrationRole-based Authorization Strategy插件。

Role-based Authorization Strategy:https://plugins.jenkins.io/role-strategy Crowd 2 Integration:https://plugins.jenkins.io/crowd2

Crowd 配置

具体操作细节可参考之前写的Atlassian 系列软件安装(Crowd+JIRA+Confluence+Bitbucket+Bamboo)Nexus3 集成 crowd 插件

说明

  • Crowd URL:Crowd 的地址;
  • Application Name:Crowd 里面配置的应用名称;
  • Application Password:Crowd 里面配置应用的密码;
  • Restrict groups:配置需要认证的用户组;
  • cookie.tokenkey:Crowd 的 token 变量。

Role-Based Strategy 配置

菜单路径:Manage Jenkins--Security--Manage and Assign Roles

Manage Roles(定义角色)配置

说明

  • 全局角色:admin--管理员权限;read--仅配置只读权限;
  • 项目角色:根据环境标识或者其他属性划分的系列任务组,一般与视图保持一致,具体权限根据具体需求设置即可。

Assign Roles(分配角色)配置

说明

  • 全局角色分配:运维组设置为管理员角色,其他组设置为只读角色,未认证的用户无任何权限;
  • 项目角色分配:development配置开发环境的权限;test配置测试环境的权限;ops配置运维自建的权限(此处为了扩展,可以不分配,运维是 Admin,有所有权限)。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叨叨软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 配置
    • Crowd 配置用户及用户组
      • Jenkins 配置
        • 插件安装
        • Crowd 配置
        • Role-Based Strategy 配置
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档