具有预定义值的 Azure Policy 标记
Azure Policy Tag with predefined values
我目前在某个时候与 Azure Policy 作斗争。我要强制执行
特定标签及其值。 (听起来很标准)
但我想允许来自预定义集合的一个值
在创建过程中需要。例如
环境:(允许任何这些预定义值)
- 开发
- 测试
- 产品
- 预生产
我创建了一个带有其他一些策略的倡议,并在我分配这个倡议时。
它将仅强制执行所选值,但不允许所有其他值。
"properties": {
"displayName": "Tag3",
"policyType": "Custom",
"mode": "All",
"metadata": {
},
"parameters": {
"tags": {
"type": "Array",
"metadata": {
"displayName": "Environment",
"description": "The list of Environments"
},
"allowedValues": [
"Test",
"Dev",
"PreProd",
"Prod"
],
"defaultValue": [
"Prod"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "tags",
"in": "[parameters('tags')]"
}
},
"then": {
"effect": "deny"
}
}
}
设置 defaultValue
而不设置 []
。就像这个:"defaultValue": "Prod"
.
更多细节,你可以参考这个article。
选项 1:删除“默认值”属性 并在分配策略时提供所需值的列表,作为“;”分隔列表:
Test;Dev;PreProd
选项 2:将“默认值”保留为数组,并填充所有允许的值:
"defaultvalue": [
"Test",
"Dev",
"PreProd",
"Prod"
]
你能试试这个吗?...
"properties": {
"displayName": "Tag3",
"policyType": "Custom",
"mode": "All",
"metadata": {
},
"parameters": {
"tags": {
"type": "Array",
"metadata": {
"displayName": "Environment",
"description": "The list of Environments"
},
"allowedValues": [
"Test",
"Dev",
"PreProd",
"Prod"
],
"defaultValue": [
"Prod"
]
}
},
"policyRule": {
"if": {
"not": {"or": {
{"field": "tags",
"equals": "Test"},
{"field": "tags",
"equals": "Dev"},
{"field": "tags",
"equals": "PreProd"},
{"field": "tags",
"equals": "Prod"},
}
}
},
"then": {
"effect": "deny"
}
}
}
我目前在某个时候与 Azure Policy 作斗争。我要强制执行 特定标签及其值。 (听起来很标准) 但我想允许来自预定义集合的一个值 在创建过程中需要。例如
环境:(允许任何这些预定义值)
- 开发
- 测试
- 产品
- 预生产
我创建了一个带有其他一些策略的倡议,并在我分配这个倡议时。
它将仅强制执行所选值,但不允许所有其他值。
"properties": {
"displayName": "Tag3",
"policyType": "Custom",
"mode": "All",
"metadata": {
},
"parameters": {
"tags": {
"type": "Array",
"metadata": {
"displayName": "Environment",
"description": "The list of Environments"
},
"allowedValues": [
"Test",
"Dev",
"PreProd",
"Prod"
],
"defaultValue": [
"Prod"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "tags",
"in": "[parameters('tags')]"
}
},
"then": {
"effect": "deny"
}
}
}
设置 defaultValue
而不设置 []
。就像这个:"defaultValue": "Prod"
.
更多细节,你可以参考这个article。
选项 1:删除“默认值”属性 并在分配策略时提供所需值的列表,作为“;”分隔列表:
Test;Dev;PreProd
选项 2:将“默认值”保留为数组,并填充所有允许的值:
"defaultvalue": [
"Test",
"Dev",
"PreProd",
"Prod"
]
你能试试这个吗?...
"properties": {
"displayName": "Tag3",
"policyType": "Custom",
"mode": "All",
"metadata": {
},
"parameters": {
"tags": {
"type": "Array",
"metadata": {
"displayName": "Environment",
"description": "The list of Environments"
},
"allowedValues": [
"Test",
"Dev",
"PreProd",
"Prod"
],
"defaultValue": [
"Prod"
]
}
},
"policyRule": {
"if": {
"not": {"or": {
{"field": "tags",
"equals": "Test"},
{"field": "tags",
"equals": "Dev"},
{"field": "tags",
"equals": "PreProd"},
{"field": "tags",
"equals": "Prod"},
}
}
},
"then": {
"effect": "deny"
}
}
}