当 vnic 未连接到特定 vnet\subnets(允许的 vnet 具有特定标签)时,我很难创建一个策略来拒绝创建网络接口
看起来我可以根据网络接口字段限制创建。在这种情况下,我想到的唯一想法是配置一个参数,其中包含允许的子网 ID 列表,并根据此参数拒绝。在这种情况下,我需要构建一个单独的机制来更新此策略定义(可能是一个 powershell 脚本)。
只是想问问这是否是完成它的好方法并征求建议,
谢谢 罗布
答案 0 :(得分:0)
有一种解决方法,即 azure 中的内置策略“需要在资源上添加标签”意味着在所选资源组下,当您创建任何没有任何标签的资源时,它将失败。在您的资源组中分配此策略。
我将标签命名为“Rahul”,没有 Rahul 标签我将无法在资源组下创建任何资源
在这里我复制并发现没有任何指定的标签我无法创建任何资源。
答案 1 :(得分:0)
能够使用它完成它:
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/networkInterfaces"
},
{
"count": {
"field": "Microsoft.Network/networkInterfaces/ipconfigurations[*]",
"where": {
"value": "[substring(current('Microsoft.Network/networkInterfaces/ipconfigurations[*].subnet.id'),0,lastIndexOf(current('Microsoft.Network/networkInterfaces/ipconfigurations[*].subnet.id'),'/'))]",
"notIn": "[parameters('subnetId')]"
}
},
"greater": 0
}
]
},
"then": {
"effect": "deny"
}
},
我将使用 Set-AzPolicyAssignment 将参数与我的 vnet 结合起来以更新参数。