Azure 策略 - 拒绝使用特定标记创建资源

Posted

技术标签:

【中文标题】Azure 策略 - 拒绝使用特定标记创建资源【英文标题】:Azure policy - deny resource creation with specific tag 【发布时间】:2020-10-05 10:20:52 【问题描述】:

有一种方法可以在没有特定标签的情况下拒绝任何类型的资源创建。 例如,我无法创建没有标签“环境”的存储帐户,但我不想在策略中指定标签“环境”的值。 而且我不希望创建资源存储时标签“环境”为空。

有一种方法可以在没有以下情况的情况下拒绝所有资源: "环境":"*"

如果标签环境为空或缺失,预期结果是拒绝消息

感谢您的建议

【问题讨论】:

【参考方案1】:

您可以创建如下策略


  "mode": "All",
  "policyRule": 
    "if": 
      "anyOf": [
        
          "field": "tags['environment']",
          "exists": "false"
        ,
        
          "field": "tags['environment']",
          "equals": ""
        
      ]
    ,
    "then": 
      "effect": "deny"
    
  ,
  "parameters": 

【讨论】:

【参考方案2】:

处理标记 IMO 的最佳方法是在资源组创建时强制执行一组特定标签,然后将其与资源上的“从资源组继承标签和值”配对。这样,在创建资源组时,您可以拒绝创建,除非为“环境”设置了定义的值,然后在该资源组内创建的任何资源都将继承该标记和值。

如果您查看 Azure Policy 中的策略定义并搜索“标记”,您将看到几个用于强制和审核资源标记的选项。

【讨论】:

以上是关于Azure 策略 - 拒绝使用特定标记创建资源的主要内容,如果未能解决你的问题,请参考以下文章

Azure Policy Deny:如果资源组名称中不存在标记之一

未强制执行 Azure 策略

使用Azure Policy(策略)强制实现资源Tag的坑

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

azure arm 策略拒绝没有标签的资源组

Azure Policy:标签定义资源是不是可以移动/部署到特定位置