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

如何限制Azure特定服务主体仅创建带指定标签的资源?

问题修正方案

错误原因

  1. 资源类型使用错误:azurerm_resource_policy_assignment用于将策略绑定到VM、存储账户这类Azure资源,无法绑定服务主体(服务主体属于Azure AD身份,不属于Azure资源范畴)。
  2. 策略规则未限定目标主体:原策略会拦截所有用户/身份的资源组创建操作,未实现仅针对特定服务主体生效的需求。

修正后的Terraform配置(tf.json)

{
  "azurerm_policy_definition": {
    "custom_policy": {
      "name": "deny-resource-group-creation",
      "display_name": "Deny resource group creation without required tag for specific SP",
      "policy_type": "Custom",
      "mode": "All",
      "policy_rule": "{ \"if\": {\n            \"allOf\": [\n                {\n                    \"field\": \"type\",\n                    \"equals\": \"Microsoft.Resources/subscriptions/resourceGroups\"\n                },\n                {\n                    \"not\": {\n                        \"field\": \"tags['bla']\",\n                        \"equals\": \"bla\"\n                    }\n                },\n                {\n                    \"field\": \"identity.principalId\",\n                    \"equals\": \"${azuread_service_principal.cloud_sp.id}\"\n                }\n            ]\n        },\n        \"then\": {\n            \"effect\": \"deny\"\n        }}"
    }
  },
  "azurerm_policy_assignment": {
    "resource_group_creation_policy_assignment": {
      "name": "resource-group-creation-policy-assignment",
      "scope": "/subscriptions/${azurerm_subscription.main.id}",
      "policy_definition_id": "${azurerm_policy_definition.custom_policy.id}"
    }
  }
}

关键修改说明

  • 新增主体校验规则:在策略规则中添加identity.principalId校验,确保仅当请求由目标服务主体发起时,策略才会触发拒绝操作。
  • 更换策略分配资源:使用azurerm_policy_assignment替代azurerm_resource_policy_assignment,并指定scope为目标订阅ID,让策略覆盖整个订阅内的资源组创建操作。若需限定到特定资源组,可将scope改为对应资源组的ID。

注意事项

  • 确保目标服务主体已通过RBAC获得创建资源组的权限,否则权限不足会先被RBAC拦截,策略无法触发。
  • Azure策略生效存在延迟,通常需要15-30分钟左右才能完全生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:56:22