azure - 天蓝色政策只允许创建特定标签
问题描述
我需要配置一个 azure 策略,以确保 azure 贡献者使用一组非常具体的“允许”标签创建资源。允许的标签示例:应用程序、所有者、环境、描述、团队
如果某些人创建资源并使用标签“env”,则该策略将启动并拒绝创建资源,因为“env”不是允许的标签之一。
这在天蓝色可能吗?
解决方案
下面是一个策略规则示例,它要求您在分配范围内的所有资源上列出所有标签。(这可能太多了,测试一下就知道了)
"policyRule": {
"if": {
"anyOf": [
{
"field": "tags['application']",
"exists": false
},
{
"field": "tags['owner']",
"exists": false
},
{
"field": "tags['environment']",
"exists": false
},
{
"field": "tags['description']",
"exists": false
},
{
"field": "tags['team']",
"exists": false
}
]
},
"then": {
"effect": "deny"
}
}
这是一个将其缩小到资源类型的示例。只喜欢虚拟机。
"policyRule": {
"if": {
"allOf":[
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
"anyOf": [
{
"field": "tags['application']",
"exists": false
},
{
"field": "tags['owner']",
"exists": false
},
{
"field": "tags['environment']",
"exists": false
},
{
"field": "tags['description']",
"exists": false
},
{
"field": "tags['team']",
"exists": false
}
]
]
},
"then": {
"effect": "deny"
}
}
请参阅我对主要问题的评论。此策略可能过于严格,因为某些 Azure 资源具有内置的默认标记。这些标签也将遵守此合规规则,因此如果您在大型组织中实施此规则,请小心,您可能会无意中妨碍某些用户。
如果您想将其缩小到一个资源组,您可以在您的策略分配中执行此操作,但是如果您想在您的定义中执行此操作,您可以使用资源类型Microsoft.Resources/subscriptions/resourceGroups
另请查看 Azure 内置的其他一些与标签相关的策略。 https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/tag-policies
推荐阅读
- node.js - ESM 导入不适用于 redux、Node 10.1.0
- python - 使用触摸传感器在两个音频文件之间切换
- python-3.x - Python:“FileNotFoundError”尽管能够打印此类文件
- windows - 通过 Windows 注册表安装 Google Chrome 扩展程序在某些计算机上不起作用?
- python - 如何在 Windows 10 中从 Anaconda 3 中删除 Python 环境
- excel - 查看一张 excel 表中是否有术语
- c# - iText 7 附加到电子邮件
- java - 如何为多个 url 设置 Cache-Contro
- android - Xamarin.forms - Xam.Plugin.Media 抛出错误 此功能未在此程序集的可移植版本中实现
- prolog - 删除一封信