【发布时间】:2020-08-13 10:03:38
【问题描述】:
在 Jenkins 中 - 如何配置受限但有用的用户帐户,以便:仅查看、取消和重播选定作业的运行?
【问题讨论】:
标签: security jenkins jenkins-plugins user-accounts
在 Jenkins 中 - 如何配置受限但有用的用户帐户,以便:仅查看、取消和重播选定作业的运行?
【问题讨论】:
标签: security jenkins jenkins-plugins user-accounts
一个更具可扩展性的替代方案是使用Role-based Authorization Strategy Jenkins 插件。但是,不要在家里尝试,因为它似乎需要 LDAP 服务器:
安装插件
启用插件: 管理 Jenkins -> 配置全局安全 -> 授权:基于角色的策略 -> 保存
创建新角色,例如管道用户: 管理 Jenkins -> 未分类:管理和分配角色 -> 管理角色 -> 全局角色 -> 要添加的角色 -> 管道用户 -> 添加 -> 添加这些角色(使用复选框):Overall.Read、Job.Build、Job .Cancel、Job.Read、Run.Delete、Run.Replay、Run.Update -> 保存
为用户分配新创建的角色 管理 Jenkins -> 未分类:管理和分配角色 -> 分配角色 -> 全局角色 -> 要添加的用户 -> -> 添加 -> 管道用户 -> 要添加的用户 -> -> 添加 -> 管道用户 ->保存
尝试以 user1 身份登录后,Jenkins 无法正确识别 user1 权限。
【讨论】:
(在 Jenkins 2.235 上测试)
Login as admin.
Manage Jenkins.
Configure Global Security.
Project-based Matrix Authorization Strategy.
Add user or group.
User or group name.
<enter username>
Check the following checkboxes:
Overall.Read
Agent.Build,
Job.Build, Job.Cancel,
Run.Delete, Run.Replay, Run.Update
Save
Jenkins->All
<choose existing pipeline>
<select dropdown on the pipeline name>
Configure
Enable project-based security <checkbox>
Add user or group
User or group name
<enter username>
Check the following checkboxes:
Job.Build, Job.Cancel, Job.Read,
Run.Delete, Run.Replay, Run.Update,
Save
Logout
Login as <username>
you should see only one pipeline
Test if Build Now works (this action is by default disabled)
Switch to Blue Ocean view
Message should say: "Started by user <username>"
Click the Stop button on the latest run
Status should change to "aborted"
Click on the Rerun button
<refresh>
Message should change to "Replayed #<run ID>"
请注意,Github OAuth Plugin 很好地与基于项目的矩阵授权策略集成,仅在这种情况下,而不是 Jenkins 内部用户名,必须使用现有 Github 的用户名,例如在授权 Github 项目合作者运行 Jenkins 构建时。
【讨论】: