天蓝色政策只允许创建特定标签

Posted

技术标签:

【中文标题】天蓝色政策只允许创建特定标签【英文标题】:azure policy to only allow specific tags to be created 【发布时间】:2020-12-07 19:48:22 【问题描述】:

我需要配置一个 azure 策略,以确保 azure 贡献者使用一组非常具体的“允许”标签创建资源。 允许的标签示例:应用程序、所有者、环境、描述、团队

如果某些人创建资源并使用标签“env”,则策略将启动并拒绝创建资源,因为“env”不是允许的标签之一。

这在 azure 中可行吗?

【问题讨论】:

这取决于,当您说“azure 贡献者”时,您指的是 RBAC 角色还是指任何授权用户?策略无法基于 RBAC 进行过滤。否则,此政策是一个非常直接的拒绝政策。 另外值得注意的是,限制标签可能会产生不良影响。许多资源(如数据块)默认创建标签,如果您创建了拒绝某些标签的策略,则资源中的所有默认标签也将遵守相同的规则。您可以在策略中围绕这些资源类型构建过滤,但您必须在遇到此类问题时加以解决。查看一些内置的标签合规政策docs.microsoft.com/en-us/azure/azure-resource-manager/… 以获得想法 【参考方案1】:

以下是一个策略规则示例,该规则要求您在指定范围内的所有资源上使用您列出的所有标签。 (这可能太多了,测试一下就知道了)

"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"
  

请参阅附加到主要问题的我的 cmets。此策略可能过于严格,因为某些 Azure 资源具有内置的默认标记。这些标签也将遵守此合规规则,因此,如果您在大型组织中实施此规则,请小心,您可能会无意中妨碍某些用户。

如果您想将其缩小到一个资源组,您可以在您的策略分配中执行此操作,但是如果您想在您的定义中执行此操作,您可以使用资源类型 Microsoft.Resources/subscriptions/resourceGroups

还可以查看 Azure 内置的其他一些与标签相关的策略。 https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/tag-policies

【讨论】:

以上是关于天蓝色政策只允许创建特定标签的主要内容,如果未能解决你的问题,请参考以下文章

你如何同时更新许多天蓝色标签?

尽管蓝色,表格单元格尺寸不起作用

如何在 iOS 的标签栏中禁用蓝色突出显示?

有没有办法在标准逻辑应用程序中获取特定工作流的天蓝色门户 URL?

将标签信息存储到历史表中

html中连续点击某个标签会出现蓝色的解决方法