温馨提示×

如何设置Jenkins权限

小樊
42
2026-07-21 00:47:25
栏目: 编程语言

Jenkins 的权限管理主要通过 安全域(Security Realm)授权策略(Authorization Strategy) 来完成。下面按常见场景给你一个从基础到进阶的完整设置指南


一、开启 Jenkins 安全(必须)

  1. 以管理员身份登录 Jenkins
  2. 进入:
    Manage Jenkins → Security → Configure Global Security
  3. 勾选 Enable security

二、选择安全域(用户来源)

✅ 推荐:Jenkins 自带用户数据库(适合中小团队)

  • Security Realm → Jenkins’ own user database
  • 勾选:
    • ✅ Allow users to sign up(初期可选)
    • ✅ Enable CSRF protection(建议开启)

适合:团队人数不多、不需要对接 LDAP / AD


其他常见选项

安全域 适用场景
LDAP 企业统一账号
Active Directory Windows 域
GitHub OAuth 开源 / 云原生
SSO / SAML 企业级统一认证

三、选择授权策略(核心权限控制)

✅ 推荐:基于矩阵的授权策略(最常用)

路径:

Manage Jenkins → Security → Authorization

选择:

  • Matrix-based security
  • 或 ✅ Project-based Matrix Authorization Strategy

四、权限矩阵说明(重点)

常见权限分类

权限 说明
Overall 系统级权限(管理员、读、配置)
Credentials 凭据管理
Job 构建任务
View 视图
Agent 节点
Run 构建历史

示例:最小权限配置

管理员(admin)

Overall: Administer

普通开发(developer)

Overall: Read
Job: Build, Read, Workspace
Credentials: View

只读用户(viewer)

Overall: Read
Job: Read

五、创建用户并分配权限

1️⃣ 创建用户

Manage Jenkins → Users → Create User

2️⃣ 分配权限

Matrix Authorization 中:

  • 添加用户名
  • 勾选对应权限

六、项目级权限(推荐)

如果你希望 不同 Job 不同权限

  1. 安装插件(通常已内置):

    • Project-based Matrix Authorization Strategy
  2. 在 Job 配置中:

    • 勾选 Enable project-based security
    • 添加用户 / 角色
    • 单独配置权限

✅ 适合多团队、多项目环境


七、使用 Role-Based Strategy(企业最常用 ⭐)

1️⃣ 安装插件

Manage Jenkins → Plugins → 安装
Role-based Authorization Strategy

2️⃣ 启用

Security → Authorization → Role-Based Strategy

3️⃣ 配置角色

Manage Jenkins → Manage and Assign Roles

角色类型

角色 作用
Global roles Jenkins 全局
Project roles Job 级别(支持正则匹配)
Agent roles 节点级别

示例

  • dev 角色:只能构建以 dev-* 开头的 Job
  • ops 角色:管理员权限

八、推荐权限配置(最佳实践)

不要给普通用户 Administer 权限
凭据权限严格控制
尽量使用 Role 而不是单个用户授权
生产环境禁用匿名访问


九、常见问题

❓ 登录后 403 Forbidden

  • 用户没有 Overall/Read
  • 权限矩阵未正确配置

❓ 忘记管理员密码

修改:

$JENKINS_HOME/users/admin/config.xml

或临时关闭安全:

$JENKINS_HOME/config.xml
<useSecurity>false</useSecurity>

十、我可以帮你进一步细化

你可以告诉我:

  • ✅ Jenkins 版本
  • ✅ 是单机还是企业环境
  • ✅ 是否使用 LDAP / GitHub / AD
  • ✅ 是否需要按项目隔离权限

我可以直接给你一份可复制的权限配置方案

0