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


    背景

    测试环境的 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 Strategyhttps://plugins.jenkins.io/role-strategy
    Crowd 2 Integrationhttps://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,有所有权限)。
    作者:蒋李恒
    出处:https://www.cnblogs.com/daodaotest/
    如果你想及时得到个人撰写文章的消息推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信公众号。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    作业十二 字符串和结构
    作业十一 指针(2)
    作业十 指针(1)
    作业九 二维数组和字符数组的应用
    作业八 一堆数组的应用
    作业七 函数及数组
    作业六 函数
    作业五 循环结构
    作业四 分支结构
    作业12总结
  • 原文地址:https://www.cnblogs.com/daodaotest/p/14638386.html
Copyright © 2020-2023  润新知