温馨提示×

centos jenkins如何管理权限

小樊
39
2025-12-19 17:51:51
栏目: 智能运维

CentOS 上 Jenkins 权限管理实操指南

一 基础安全配置

  • 启用安全:进入 Manage Jenkins → Configure Global Security,勾选 Enable security
  • 身份认证:在 Security Realm 选择 Jenkins’ own user database,按需勾选 Allow users to sign up(首次搭建便于创建管理员)。
  • 授权策略(两种常用):
    • Matrix-based security(安全矩阵):在全局为用户/组授予细粒度权限,适合小团队或快速落地。
    • Project-based Matrix Authorization Strategy(项目矩阵授权):与矩阵类似,但可在每个 Job/项目 配置页进一步细化授权。
  • 关键权限要点:
    • Overall/Read 是最基本的“能登录并看到内容”的权限;
    • Overall/Administer 是最高权限;
    • 在矩阵中为用户/组添加后,应用并保存设置。

二 基于角色的访问控制 RBAC(推荐)

  • 安装插件:进入 Manage Jenkins → Manage Plugins,安装 Role-based Authorization Strategy
  • 切换策略:回到 Configure Global Security,将授权策略切换为 Role-Based Strategy 并保存。
  • 定义角色:进入 Manage Jenkins → Manage and Assign Roles → Manage Roles,常见三类角色:
    • Global roles(全局角色):如管理员、只读用户等;
    • Item roles(项目角色):按项目命名空间授权,支持用 正则表达式 匹配项目名;
    • Node roles(节点角色):控制代理/节点相关操作。
  • 建议起步角色:
    • 创建全局角色 baseRole,仅授予 Overall/Read,作为所有用户的“最小可见”基线;
    • 创建项目角色(如 demo)绑定 demo.,创建 test 绑定 test.,分别授予构建、查看等所需权限;
  • 分配角色:进入 Assign Roles,为用户(如 test1test2)勾选相应 Global/Item 角色;
  • 验证:以不同用户登录,确认 test1 仅见 demo* 项目、test2 仅见 test* 项目。

三 常见权限矩阵示例

对象 建议权限 说明
Overall Read 所有用户的最小权限,缺失会导致“看不见任何内容”
Overall Administer 超级管理员,谨慎授予
Job Read、Build、Workspace、Cancel 只读+构建+查看工作区+取消构建,覆盖日常开发
Job Configure、Delete、Create 项目配置/删除/创建,按需授予
View Read、Create、Delete 视图可见与维护
Credentials View、Create、Update、Delete、ManageDomains 凭证查看与管理
Node Connect、Disconnect、Configure 代理节点连接与配置
说明:在 MatrixProject-based Matrix 中,按上表为用户/组勾选对应权限即可;若使用 RBAC,则把相同权限组合到 Global/Item/Node 角色中再分配。

四 用户管理与项目级授权

  • 新建用户:进入 Manage Jenkins → Manage Users → 新建用户,创建后回到 Assign Roles 分配角色。
  • 项目级授权:在 RBAC 下,项目角色通过 命名模式(正则) 自动匹配;在 矩阵策略 下,可进入具体 Job → Configure → Enable project-based security,为用户/组设置该项目专属权限,实现“不同项目不同人不同权限”。

五 安全加固与排错要点

  • 最小权限原则:普通用户只给 Overall/Read + Job/Read/Build 等必要权限,避免授予 Overall/Administer
  • 基线角色:为所有用户统一授予 baseRole(Overall/Read),再按项目授予 Item 角色,减少遗漏。
  • 定期更新:保持 Jenkins 与插件 为最新稳定版,及时修补安全漏洞。
  • 访问控制:通过 firewall-cmd 仅开放必要端口(如 8080/443),并限制来源网段。
  • 日志排查:出现异常时查看 /var/log/jenkins/jenkins.log 定位问题。
  • 谨慎提权:不建议将 JENKINS_USER 改为 root 运行,优先使用 jenkins 系统用户并配合精细授权。

0