Jenkins权限配置详解:从用户创建到角色分配
一、创建用户账户
-
进入用户管理界面
-
登录Jenkins控制台,点击左侧导航栏
Manage Jenkins
(系统管理) -
选择
Security
(安全)→Manage Users
(管理用户)
-
-
创建新用户
-
点击
Create User
(创建用户) -
填写以下信息(示例):
Username: dev_john # 登录用户名(必填) Password: ********** # 登录密码(建议8位以上) Confirm password: ********** Full name: John Developer # 用户全名(便于识别) Email address: john@example.com
-
点击
Create
完成用户创建
-
二、配置全局安全策略
1. 选择授权策略
-
返回
Manage Jenkins
→Security
→Configure Global Security
-
在
Authorization
部分选择策略:-
Project-based Matrix
:直接分配项目权限(适合简单场景) -
Role-based Strategy
:通过角色分配权限(推荐,需安装插件)
-
2. 安装Role-Based插件
-
进入
Manage Plugins
(插件管理) -
搜索
Role-based Authorization Strategy
-
勾选插件并点击
Install without restart
-
安装完成后重启Jenkins生效
三、基于角色的权限配置
1. 创建全局角色
-
进入
Manage Jenkins
→Security
→Manage and Assign Roles
-
点击
Manage Roles
,配置全局角色:角色名 权限分配建议 admin 勾选 Overall/Administer
(全权限)developer 分配以下权限: -
Overall/Read
-
Job/Build
-
Job/Cancel
-
Run/Update
| viewer | 仅勾选Overall/Read
(只读) |
-
2. 创建项目角色
-
在
Project Roles
区域:Role Name: yunpan-admin # 角色名需唯一 Pattern: yunpan-.* # 使用正则匹配项目名(如yunpan-api、yunpan-web)
-
权限分配:勾选
Job/Configure
、Job/Delete
等管理权限
-
-
创建开发角色:
Role Name: yunpan-developer Pattern: yunpan-.*
-
勾选
Job/Build
、Workspace/View
、SCM/Tag
等开发相关权限
-
四、分配角色给用户
-
进入角色分配界面
-
Manage and Assign Roles
→Assign Roles
-
-
分配全局角色
-
在
Global roles
区域添加用户:用户: dev_john 分配角色: developer
-
-
分配项目角色
-
在
Item roles
区域:用户: dev_john 分配角色: yunpan-developer
-
用户将获得对匹配
yunpan-.*
项目的开发权限
-
五、权限对照表(开发者示例)
权限分类 | 需勾选权限项 | 功能说明 |
---|---|---|
Overall | Read | 查看Jenkins基础信息 |
Job | Build, Read, Workspace | 构建任务、查看日志、访问工作空间 |
Run | Update | 更新构建描述或参数 |
SCM | Read | 查看代码仓库配置 |
### 1. Overall(全局权限)
| 权限名称 | 说明 |
|----------------------|-------------------------------|
| Administer | 管理员权限,可执行所有操作 |
| Read | 基本读取权限,查看 Jenkins 信息 |
| RunScripts | 运行 Groovy 脚本的权限 |
| UploadPlugins | 上传插件的权限 |
| ConfigureUpdateCenter| 配置更新中心的权限 |
### 2. Credentials(凭据权限)
| 权限名称 | 说明 |
|--------------|----------------------|
| Create | 创建凭据 |
| Delete | 删除凭据 |
| ManageDomains| 管理凭据域 |
| Update | 更新凭据 |
| View | 查看凭据 |
### 3. Agent(节点权限)
| 权限名称 | 说明 |
|------------|----------------------|
| Build | 在特定节点上构建 |
| Configure | 配置节点 |
| Connect | 连接到节点 |
| Create | 创建新节点 |
| Delete | 删除节点 |
| Disconnect | 断开节点连接 |
### 4. Job(任务权限)
| 权限名称 | 说明 |
|------------|----------------------|
| Build | 启动构建 |
| Cancel | 取消构建 |
| Configure | 配置任务 |
| Create | 创建新任务 |
| Delete | 删除任务 |
| Discover | 发现任务 |
| Read | 查看任务 |
| Workspace | 访问工作空间 |
### 5. Run(构建权限)
| 权限名称 | 说明 |
|------------|----------------------|
| Delete | 删除构建记录 |
| Update | 更新构建信息 |
| Artifacts | 访问构建产物 |
| Replay | 重放构建 |
### 6. View(视图权限)
| 权限名称 | 说明 |
|------------|----------------------|
| Configure | 配置视图 |
| Create | 创建新视图 |
| Delete | 删除视图 |
| Read | 查看视图 |
### 7. SCM(源码管理权限)
| 权限名称 | 说明 |
|------------|----------------------|
| Tag | 创建/删除标签 |
| Configure | 配置源码管理 |
| Read | 读取源码 |
六、注意事项
-
权限最小化原则:仅分配必要权限,避免过度授权
-
正则匹配:项目角色中的Pattern需准确匹配项目命名规则
-
测试验证:创建测试账号验证权限是否生效
-
备份配置:修改权限前建议备份
JENKINS_HOME
目录
延伸操作:
-
结合LDAP/AD实现企业级账号集成
-
使用
Matrix Authorization Strategy
实现精细化权限控制
通过以上步骤,可快速搭建安全的Jenkins权限管理体系。建议定期审计权限分配,确保符合团队协作规范。
提示:实际界面选项可能随Jenkins版本变化,本文基于Jenkins 2.4xx版本编写。