【问题标题】:TFS build definition permissions and groups inheritence with user having membership to multiple groupsTFS 构建定义权限和组继承,用户具有多个组的成员资格
【发布时间】:2018-04-07 00:35:26
【问题描述】:

我有以下用户组

  • 建设者
    • 用户1
    • 用户2
  • 贡献者
    • User1(注意这也是 Builders 的成员)
    • User2(注意这也是 Builders 的成员)
    • 用户3
    • 用户4
    • 用户5

并遵循构建定义(开发构建定义比产品构建定义多很多倍)

  • 开发版本
    • 构建定义 01
    • 构建定义 02
    • 构建定义 03
    • 构建定义 04
    • 构建定义 05
  • 产品构建
    • 构建定义 51
    • 构建定义 52

由于 Dev 构建定义的数量比 prod 构建定义多很多倍,“所有构建定义”级别的默认设置是允许访问贡献者和构建者。我想拒绝贡献者访问 Prod 构建定义。但是,如果我明确拒绝,作为两个组成员的 User1 和 User2 将被“拒绝”该访问。我可以使用的唯一其他选项是“继承的允许”和“允许”。还能如何实现?我想以这种方式保留默认值,以便更少的构建定义需要覆盖,除非没有其他方法。

这是一个典型的权限

  • 所有构建定义
    • 查看构建定义(选择示例权限之一)
    • 构建器 - 允许
    • 贡献者 - 允许
  • 产品构建定义之一
    • 查看构建定义(选择示例权限之一)
    • 构建器 - 继承允许(选项为允许、拒绝、未设置)
    • 贡献者 - 继承允许(选项为允许、拒绝、未设置)

这就是发生的事情

  • 在贡献者处继承允许 - 所有用户都有访问权限
  • Contributor 拒绝 - 用户 1 和用户 2 失去访问权限,无论 Builders 组的任何权限如何

【问题讨论】:

  • 您是否已经尝试设置“未设置”以查看是否有效?
  • 是的,“未设置”等同于“继承允许”,在这种情况下所有用户都可以访问。
  • 是的@PatrickLu-MSFT 它给了我正确的方向。它尚未实施,因为其他一些更高优先级的项目出现在它前面。计划在接下来的 2 周内完成。完成后我一定会发布更新。

标签: tfs


【解决方案1】:

这是预期的行为。根据 TFS 权限设置,大多数组和几乎所有权限,Deny 胜过 Allow。如果用户属于两个组,并且其中一个具有特定权限设置为拒绝,则该用户将无法执行需要该权限的任务,即使他们属于将该权限设置为允许的组。

详情可以看MSDN教程:About permissions and groups

要实现您想要的,您可以创建一个新组,例如 DenyProGroup。将 Contributors 中除 user1/user2 之外的其他开发人员添加到该组。例如您的情况下的 User3/User4/User5。

对于该组,将所有产品构建定义的查看构建定义权限设置为“拒绝”。对于贡献者和建设者,将相同的权限设置为“允许”。已保存的更改。然后 user3/4/5 将失去查看 Prod Builds 的能力,但 user1/2 仍然有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2011-05-24
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多