未强制执行 Azure 策略

Posted

技术标签:

【中文标题】未强制执行 Azure 策略【英文标题】:Azure Policy not enforced 【发布时间】:2020-04-02 12:45:36 【问题描述】:

尝试创建与 Azure 中的订阅相关联的策略,该策略将拒绝创建没有特定“costCenter”标记的资源组。我为订阅分配了以下策略,其中“coreTagName1”完成为“costCenter”:

 "properties": 
   "displayName": "manual_test_1",
   "policyType": "Custom",
   "mode": "Indexed",
   "description": "manual test for tag enforcement",
   "metadata": 
     "category": "test",
     "createdBy": "#########",
     "createdOn": "2020-04-02T12:27:39.2686671Z",
     "updatedBy": "#########",
     "updatedOn": "2020-04-02T12:35:32.5608728Z"
   ,
   "parameters": 
     "coreTagName1": 
       "type": "String",
       "metadata": 
         "displayName": "tagName to enforce",
         "description": "Name of the tag, such as costCenter"
       
     
   ,
   "policyRule": 
     "if": 
       "anyOf": [
         
           "field": "type",
           "equals": "Microsoft.Resources/subscriptions/resourceGroups"
         ,
         
           "exists": "false",
           "field": "[concat('tags[', parameters('coreTagName1'), ']')]"
         
       ]
     ,
     "then": 
       "effect": "deny"
     
   
 ,
 "id": "/subscriptions/#########/providers/Microsoft.Authorization/policyDefinitions/########",
 "type": "Microsoft.Authorization/policyDefinitions",
 "name": "#######"

但我仍然可以创建资源组而不指定任何标签。我觉得我在我的方法中遗漏了一些基本的东西,但我还不能理解它。

【问题讨论】:

策略可能仍处于“未启动”的合规状态。您是否检查了合规性状态? 啊,确实是这样。没有意识到分配策略和实际执行之间存在延迟。谢谢。 是的!这需要一些时间。编码快乐! 【参考方案1】:

正如 Jagrati 所说。在检查合规性结果之前,请允许策略运行合规性扫描。 (通常等待时间为 30 分钟,但这在很大程度上取决于范围和资源数量)。

【讨论】:

以上是关于未强制执行 Azure 策略的主要内容,如果未能解决你的问题,请参考以下文章

未强制执行 Java 安全策略

错误:未强制执行用户名令牌创建的策略

如何强制 Azure 策略中主机名的名称模式?

Azure 策略强制在任何新数据库中使用弹性池

设备未根据策略的 minimumVersioCode 强制更新

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