Jenkins 的权限管理主要通过 安全域(Security Realm) 和 授权策略(Authorization Strategy) 来完成。下面按常见场景给你一个从基础到进阶的完整设置指南。
适合:团队人数不多、不需要对接 LDAP / AD
| 安全域 | 适用场景 |
|---|---|
| LDAP | 企业统一账号 |
| Active Directory | Windows 域 |
| GitHub OAuth | 开源 / 云原生 |
| SSO / SAML | 企业级统一认证 |
路径:
Manage Jenkins → Security → Authorization
选择:
| 权限 | 说明 |
|---|---|
| Overall | 系统级权限(管理员、读、配置) |
| Credentials | 凭据管理 |
| Job | 构建任务 |
| View | 视图 |
| Agent | 节点 |
| Run | 构建历史 |
Overall: Administer
Overall: Read
Job: Build, Read, Workspace
Credentials: View
Overall: Read
Job: Read
Manage Jenkins → Users → Create User
在 Matrix Authorization 中:
如果你希望 不同 Job 不同权限:
安装插件(通常已内置):
在 Job 配置中:
✅ 适合多团队、多项目环境
Manage Jenkins → Plugins → 安装
Role-based Authorization Strategy
Security → Authorization → Role-Based Strategy
Manage Jenkins → Manage and Assign Roles
| 角色 | 作用 |
|---|---|
| Global roles | Jenkins 全局 |
| Project roles | Job 级别(支持正则匹配) |
| Agent roles | 节点级别 |
dev 角色:只能构建以 dev-* 开头的 Jobops 角色:管理员权限✅ 不要给普通用户 Administer 权限
✅ 凭据权限严格控制
✅ 尽量使用 Role 而不是单个用户授权
✅ 生产环境禁用匿名访问
Overall/Read修改:
$JENKINS_HOME/users/admin/config.xml
或临时关闭安全:
$JENKINS_HOME/config.xml
<useSecurity>false</useSecurity>
你可以告诉我:
我可以直接给你一份可复制的权限配置方案。