You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure策略中排除Azure DevOps技术用户,允许其修改特定标签资源?

Azure策略排除特定用户/服务主体的实现方案

完全可以实现你的需求,有两种常用方式:

方式1:通过策略分配的例外设置(推荐)

这是最快捷的操作方式,不需要修改策略本身:

  • 找到你已创建的那条拒变更策略的分配记录
  • 进入「例外」配置页,添加Azure DevOps流水线使用的技术用户(即对应的服务主体)
  • 保存后,该服务主体发起的所有变更操作都会被这条策略豁免,不会被拒绝

方式2:修改策略定义,内置排除逻辑

如果需要把排除规则固化到策略里,可以调整策略的policyRule,加入针对操作发起者的判断:

"policyRule": {
  "if": {
    "allOf": [
      {
        "field": "tags['source']",
        "equals": "terraform"
      },
      {
        "not": {
          "field": "identity.principalId",
          "equals": "你的Azure DevOps服务主体ID"
        }
      },
      // 保留原有的资源变更动作判断,比如覆盖各类写入/更新操作
      {
        "field": "action",
        "like": "*write"
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

如果有多个需要排除的主体,把equals改成in,值换成主体ID数组即可,比如"in": ["主体ID1", "主体ID2"]。

补充说明:UI发起的操作一般用的是用户个人身份,而Azure DevOps流水线用的是独立服务主体,所以排除这个服务主体后,就能精准实现“只阻止UI变更,允许流水线操作”的目标。


内容的提问来源于stack exchange,提问作者Marvin Core

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:43:16