Jenkins 权限管理

关于Role-based Authorization Strategy

使用Jenkins自身的权限管理过于粗糙,无法对单个、一类项目做管理,我们可以使用

Role-based Authorization Strategy插件来管理项目、角色。

首先安装该插件:在Jenkins查看该插件有无安装

在Jenkins->安全全局配置里勾选

配置角色

可以系统管理中->Manage and Assign Roles 管理角色。可以定义全局、项目和代理特定项目角色。

  • 全局角色(Global roles)适用于 Jenkins 中的任何项目,并覆盖项目角色中指定的任何内容。也就是说,当在全局角色中授予角色权限时Job/Read,无论在项目角色中指定什么,都允许该角色读取所有作业。Job/Create可以在全局范围内创造任何名称的项目。

  • 对于项目(Project roles)和代理角色(Slave roles),您可以设置匹配项目的正则表达式模式。正则表达式主要是匹配完整的项目名称。

    • 例如,如果将该字段设置为Roger-.*,则该角色将匹配名称以Roger-开头的所有项目。
    • 匹配模式区分大小写。要执行不区分大小写的匹配,请使用(?i)符号: (?i)roger-.*。
    • 可以使用这样的表达式来匹配文件夹^foo/bar.*。要访问文件夹内的作业,用户也必须可以访问该文件夹本身。这可以通过单一模式来实现,例如(?i)folder($|/.*)文件夹的权限可以与作业的权限相同。如果需要配置不同的权限,则需要创建2个不同的角色,例如(?i)folder和(?i)folder/.*。请注意,文件夹内的作业名称区分大小写,尽管这是文件夹插件JENKINS-67695中的错误。可以使用启用区分大小写(?-i)来解决,例如:(?i)folder/(?-i).*
    • 只有在全局配置勾选Role-based Strategy,项目级别的创建权限才能生效。如果未启用,会在管理监视器中警告。否则只能创建与模式匹配的作业。Role-Based strategyRestrict project namingJob/CreateJob/ConfigureJob/Read

分配角色

可以使用"Assign Roles"将角色分配给用户和用户组

用户组代表安全领域提供的权限(例如Active Directory或LDAP插件可以提供组)

还有两个内置组:(authenticated已登录的用户)和anonymous(任何用户,包括未登录的用户)

将鼠标悬停在标题上将显示工具提示,其中包含与角色和模式关联的权限。

将鼠标悬停在复选框上将显示包含角色、用户/组和模式的工具提示。

项目构建获取角色信息

项目构建中有两个步骤可以获取运行构建的用户的角色。当用户通过 UI 或 REST API 触发构建时,将返回该用户的角色。如果构建是由时间或 SCM 事件触发的,则没有可用的用户,并且以SYSTEM当作运行用户。该用户被视为管理员并拥有所有角色。

使用授权项目插件,可以使由计时器或 SCM 事件触发的构建以特定用户身份运行

相关推荐
重生之小比特几秒前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
考拉讲支付3 分钟前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
LateFrames19 分钟前
“场控软件” 如何容错与运维
运维·容错·led大屏·播控系统·场控软件
あ-28 分钟前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器
艾伦_耶格宇1 小时前
【DOCKER容器实战】-5 Docker容器镜像的构建
运维·docker·容器
速捷工控 PLC触摸屏还原程序1 小时前
S7-200 SMART程序上传提示密码?维修、改造和换机怎么选处理路径?
运维·服务器
程序员-Benothing2 小时前
Linux抓包分析教程:tcpdump、Wireshark、tshark实战
linux·运维·服务器
QMCY_jason2 小时前
ubuntu x86_64架构的编译 aarch64架构的程序
linux·运维·ubuntu
分布式存储与RustFS2 小时前
RustFS 该跟 stable 还是 nightly?两条版本线的分工、风险与回退,一张表说清
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
无足鸟ICT2 小时前
【RHCA+】rpm命令(安装、升级、卸载和查询)
linux·运维·服务器