【问题标题】:Excesive permission level in release management for contributors group in TFSTFS 中贡献者组的发布管理权限级别过高
【发布时间】:2019-06-12 11:07:56
【问题描述】:

似乎 TFS 发布管理 (TFS 2017) 上的默认权限映射为 Contributors 组允许做的事情比一个简单的“贡献者”应该被允许做的事情多得多: 当然可以更改权限(取决于 TP 的数量,这可能需要一段时间),但我不明白为什么默认映射会赋予如此多的权力。据我了解,Contributors 组的目的是放开发者。为什么开发人员应该有权更改/删除发布环境、管理发布批准者甚至修改发布定义? (可能已由发布管理员正确配置)。

我是不是误会了什么?

奇怪的是,贡献者的团队构建权限受到更多限制......

问候。

【问题讨论】:

    标签: tfs azure-pipelines-release-pipeline release-management


    【解决方案1】:

    TFS 中贡献者组的发布管理权限级别过高

    抱歉给您带来不便。

    这种行为是设计的,不是问题。根据文件Pipeline permissions and security roles,我们可以知道:

    一旦您被添加为团队成员,您就是该团队的成员 贡献者组。这允许您定义和管理构建和 发布。最常见的内置组包括阅读器、 贡献者和项目管理员。这些组被分配 下面列出的默认权限。

    我们可以看到,构建和发布之间的默认权限不同的是,构建默认权限的选项会多一个任务管理构建队列和构建质量(其他没有显示在列表中访问控制摘要)。

    所以,当我们进入 TFS 构建管理的默认权限映射时,我们可以看到以下设置:

    虽然除红框外的其他选项设置为未设置,但它们允许具有权限集的组中的成员优先。如果您一一检查这些选项,您会发现所有这些权限都设置为 Allow (inherited),请查看 Azure Devops 中的图像:

    所以,贡献者的团队构建权限不受 TFS 构建管理的限制。

    此外,如果您觉得贡献者的默认映射提供了如此多的权力,您可以添加一个自定义组并为该组设置权限,然后将这些贡献者添加到该组。

    希望这会有所帮助。

    【讨论】:

    • 我知道这种行为是设计使然,问题基本上是为了确定我是否根据 MS 最佳实践将错误的人放在贡献者组中,因为向管理层解释并不容易为什么开发人员可以修改发布经理制定的部署程序(抱歉将我的评论分成两部分,我花了最大时间来编辑第一个)
    • @Josto,是的,我完全理解你的痛苦。痛苦的根源在于对贡献者权限的理解不同。 MS 定义了允许您定义和管理构建和发布的贡献者。但这可能对您的贡献者有太多的权限。这就是微软为您提供访问控制摘要的原因,以便我们可以自定义贡献者的权限。如果没有,我们将有很多 Azure Devops Groups 用于不同的权限请求。
    • 最好有一个专门针对开发人员的内置组(即只需要推送代码、更新工作项而无需其他任何东西的人)。是的,您可以自己创建组,但您必须担心提供所有必需的权限,这对于许多 TP 来说可能需要一段时间。无论如何,我想我会创建一个脚本来更新每个 TP 中的贡献者权限。再次感谢您的回答:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    相关资源
    最近更新 更多