【问题标题】:Azure DevOps Agent Pool SecurityAzure DevOps 代理池安全性
【发布时间】:2024-05-20 10:15:02
【问题描述】:

我很难理解团队项目的代理池安全性如何工作或填充。我想我缺少一个基本结构。

我想在项目级别授予以下访问权限:

贡献者 - 角色:用户
项目迷你管理员(自定义组) - 角色:管理员

这是我所做的: 在项目设置中,我点击了代理池,然后点击了安全按钮。 我添加了上面提到的两个组。

如果然后单击此屏幕上列出的代理池之一并选择安全性,我可以看到继承已打开,但我的新组未针对所选池列出。

我错过了什么?如果贡献者或项目迷你管理员进入团队项目中的构建定义并尝试下拉代理列表,他们看不到任何代理;好像他们对特工没有安全感。如果我手动将它们单独添加到所有代理中,它们会按预期工作。就好像从代理池安全到代理的继承链没有传播。

【问题讨论】:

  • 为什么您的屏幕截图显示“您无权编辑此资源的角色”?
  • 因为我使用没有维护能力的帐户访问屏幕。如果我以项目管理员的身份进入,我显然不会看到该消息。
  • 我尝试过的所有方法都产生了与您看到的相同的结果。也许这是发送给 MS 的问题。我还看到,使用 Inheritance=on 正确处理的唯一组是默认的 Project、Release 和 Build Administrator 组。
  • 根据您使用 Mini Admin 组的目的,您可以将该组添加到 Admin 组中,并将其标记为项目管理员的 管理员角色。然后,您添加到 Mini Admin 组的用户和组将收到拒绝他们不应从其在 PA 中的成员身份继承的内容的权限。不漂亮,但也许是一种解决方法。
  • 很高兴您能确认相同的行为。让我觉得我没有错过任何明显的东西。我过去曾被 Deny privs 所困扰,并且通常会尽可能避免使用它们,因此 Mini Admins 搭载到 Project Administrators 是不可行的。它也没有解决我的贡献者问题。

标签: azure-devops


【解决方案1】:

根据Documentation,有 (was) 和 All Agents 节点将为所选用户分配所有代理池的指定角色。

使用项目设置 UI 部分的新布局,可以通过 代理池 登录页面上的 安全 按钮访问该节点,该页面的项目的所有池都位于列出来。




应该从该池的安全视图中为特定池分配角色。

查看整个组织的代理池安全性将向您展示更符合文档词汇的旧 UI。

【讨论】:

  • 这正是我所做的,但权限不会从池设置传播到代理。我用截图更新了我上面的问题。
【解决方案2】:

我在Microsoft's Developer Community 网站上提供了有关此问题的反馈。 Microsoft 确认这是一个问题,并且正在努力修复。

【讨论】: