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

无需自定义RBAC角色阻止Azure订阅重命名(尝试Azure Policy)

解决方案:修正Azure Policy规则以阻止订阅重命名

你之前的Azure Policy无效的原因有两个:

  1. 错误使用了Microsoft.Subscription/SubscriptionDefinitions资源类型,普通Azure订阅对应的资源类型是Microsoft.Subscription/subscriptions
  2. 规则仅检查displayName是否存在,没有针对已存在订阅的名称修改操作做限制

以下是修正后的Azure Policy规则,它会阻止对已存在订阅的displayName修改操作,同时允许创建订阅时设置初始名称:

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Subscription/subscriptions"
        },
        // 排除订阅创建操作(资源不存在时的写入)
        {
          "not": {
            "field": "name",
            "notExists": true
          }
        },
        // 检测displayName是否被修改
        {
          "change": "Microsoft.Subscription/subscriptions/displayName",
          "equals": "Updated"
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  },
  "parameters": {}
}

配置说明

  • mode: All:确保策略能应用到订阅级别的资源操作
  • 排除创建操作:通过"not": {"field": "name", "notExists": true}判断资源已存在,避免阻止订阅创建时的名称设置
  • 检测名称修改:使用change条件捕获displayName字段的更新操作,触发拒绝效果

其他替代方案(事后纠正)

如果Policy仍有使用限制,可通过Azure Event Grid + Azure Function/Automation Runbook实现事后纠正:

  • 配置Event Grid订阅,监听Microsoft.Subscription/subscriptions/updated事件
  • 当事件触发时,自动调用Function/Runbook将订阅名称重置为符合规范的初始值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:22:54