gpt4 book ai didi

Azure - 阻止订阅所有者修改特定资源组?

转载 作者:行者123 更新时间:2023-12-03 06:43:51 26 4
gpt4 key购买 nike

我正在探索保护订阅中某些 Azure 资源免遭篡改(甚至是订阅所有者篡改)的选项。

目的是标准化我们的订阅,其他团队在其工程中使用这些订阅。我们考虑过为团队提供类似于所有者和贡献者的自定义 RBAC 角色,但略有减少 - 但我们发现这种方法摩擦很大,并且无法覆盖 100% 的场景。在某些情况下,排除权限是可以的,但在其他情况下,我们需要授予他们这些权限,但限制它们在我们的资源上使用。

我们的首选设计是在每个标准化订阅中创建一个已知名称的资源组,将不允许用户修改或删除的资源放置在组中,并探索防止订阅所有者篡改该资源组的选项或其资源。

到目前为止,我们已经探索了我们所知道的大多数选项:

  • 排除操作/权限不是一个选项,因为用户需要这些操作/权限来管理相同类型的其他资源(即拒绝用户创建/修改/删除资源组的能力是不可行的)
  • 定义 Azure 资源策略以拒绝 RG 上的所有操作(这似乎不起作用)
  • 定义 Azure 资源策略以需要我们的标准资源 - 这仍然无法防止删除
  • 用于创建锁定(使用资源锁以外的某种锁定?!?)RG 并应用拒绝分配的蓝图(预览版)

其他选项开始变得“​​马虎”。它们留下了空白,或者造成了巨大的复杂性。比如...

  • 依赖策略在所需资源被破坏时进行报告(并可能重新部署)
    • 这些资源与安全性和合规性相关 - 政策最终可以检测到它们的缺失,但删除和检测之间的差距会导致这些订阅可能受到污染
  • 拒绝我们的用户资源锁定权限,因此我们可以独占锁定我们的 RG,而他们无法解锁它
    • 当 RG 解锁时,没有任何保护 - 因此我们需要协调解锁、应用更新、重新锁定它,并重新验证解锁期间没有其他任何东西潜入
  • 为每个订阅提供一个 RG,并仅授予他们 RG 级别的权限
    • 如果 RG 可以嵌套,这可能是有好处的 - 也许是为数不多的可行选择之一,但从 Azure 工程师手中夺走资源组管理感觉是错误的,并且可能会导致 RG 因多个部署而“臃肿”作为
  • 蓝图可能是一种选择,但会围绕协调资源的解锁和重新锁定提出类似的问题
    • 而且,Terraform 是我们的 IaC 平台 - 蓝图在某种程度上是 IaC 的另一层,因此虽然我们可能让它发挥作用,但需要进行一些分析才能使用蓝图来创建保护,而 Terraform 则继续完成大部分工作

最佳答案

在了解有关 Azure Policy 的更多信息后,我了解到它无法设置策略来防止删除。它可以定义创建或更新资源的约定,如果资源不存在,它可以创建资源,但在删除时不会触发,因此Policy所需的资源无法受到Policy的保护。

总的来说,这似乎有点违反直觉——因为删除操作是一个 /write 权限,就像创建和更新一样。

所以总的来说,我不相信策略实际上是一个权限组件。它缺乏任何关于谁在执行某项操作的上下文,而是有效地表示“如果您执行 X,则需要满足标准 Y”。并且没有说“您的订阅需要遵守 X”。

这令人惊讶 - Azure 没有任何方法可以在订阅级别或更高级别设置资源级别权限吗?

关于Azure - 阻止订阅所有者修改特定资源组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74290230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com