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

Azure治理需求:禁止分配现有自定义角色给用户的策略咨询

禁止分配自定义角色的Azure策略实现方案

这个需求完全可以实现,通过Azure Policy的Deny效果,拦截订阅或资源组层级的自定义角色分配操作,以下是具体的策略定义及逻辑说明:

完整Azure Policy定义

{
  "properties": {
    "displayName": "禁止在订阅/资源组层级分配自定义角色",
    "policyType": "Custom",
    "mode": "All",
    "description": "阻止所有用户(包括所有者)在订阅或资源组层级将自定义角色分配给任何主体",
    "parameters": {},
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Authorization/roleAssignments"
          },
          {
            "field": "Microsoft.Authorization/roleAssignments/roleDefinitionId",
            "contains": "/subscriptions/"
          },
          {
            "anyOf": [
              {
                "field": "location",
                "equals": "global"
              },
              {
                "field": "parent.type",
                "equals": "Microsoft.Resources/resourceGroups"
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "Deny"
      }
    }
  }
}

策略逻辑说明

  • 匹配操作类型:通过type: Microsoft.Authorization/roleAssignments定位所有角色分配的创建/更新操作
  • 筛选自定义角色:自定义角色的定义ID包含订阅路径(/subscriptions/),而Azure内置角色的ID无此路径,以此区分自定义与内置角色
  • 限制作用范围:通过location: global匹配订阅级操作,parent.type: Microsoft.Resources/resourceGroups匹配资源组级操作,确保只管控这两个层级的分配
  • 强制执行拦截:effect: Deny会直接阻止符合条件的操作,覆盖所有用户(包括所有者)的角色分配权限

注意:若需要豁免特定用户或资源,可通过Azure Policy的豁免功能配置,避免影响必要的运维操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:05:26