【问题标题】:Jenkins - how to configure restricted but useful user accountJenkins - 如何配置受限但有用的用户帐户
【发布时间】:2020-08-13 10:03:38
【问题描述】:

在 Jenkins 中 - 如何配置受限但有用的用户帐户,以便:仅查看、取消和重播选定作业的运行?

【问题讨论】:

    标签: security jenkins jenkins-plugins user-accounts


    【解决方案1】:

    一个更具可扩展性的替代方案是使用Role-based Authorization Strategy Jenkins 插件。但是,不要在家里尝试,因为它似乎需要 LDAP 服务器:

    1. 安装插件

    2. 启用插件: 管理 Jenkins -> 配置全局安全 -> 授权:基于角色的策略 -> 保存

    3. 创建新角色,例如管道用户: 管理 Jenkins -> 未分类:管理和分配角色 -> 管理角色 -> 全局角色 -> 要添加的角色 -> 管道用户 -> 添加 -> 添加这些角色(使用复选框):Overall.Read、Job.Build、Job .Cancel、Job.Read、Run.Delete、Run.Replay、Run.Update -> 保存

    4. 为用户分配新创建的角色 管理 Jenkins -> 未分类:管理和分配角色 -> 分配角色 -> 全局角色 -> 要添加的用户 -> -> 添加 -> 管道用户 -> 要添加的用户 -> -> 添加 -> 管道用户 ->保存

    尝试以 user1 身份登录后,Jenkins 无法正确识别 user1 权限。

    【讨论】:

      【解决方案2】:

      (在 Jenkins 2.235 上测试)

      1. 配置全局安全性(适用于所有项目/作业):
      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
      
      1. 配置本地安全性(针对选定的项目/作业):
      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
      
      1. 测试
      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 构建时。

      【讨论】:

        猜你喜欢
        • 2021-12-13
        • 2011-08-31
        • 1970-01-01
        • 2012-12-16
        • 1970-01-01
        • 1970-01-01
        • 2018-02-22
        • 1970-01-01
        • 2014-01-04
        相关资源
        最近更新 更多