Azure 策略未正确针对 Windows VM

Posted

技术标签:

【中文标题】Azure 策略未正确针对 Windows VM【英文标题】:Azure policy not targetting Windows VM's correctly 【发布时间】:2020-03-09 14:40:22 【问题描述】:

我正在编写 Azure 策略以检查是否启用了混合使用权益。 Microsoft 提供了一个内置策略,该策略将基于 Azure 平台提供的映像产品针对所有虚拟机。但是,我订阅中的某些 VM 是基于迁移的 VM,因此与现有映像产品没有链接。

我找到了一篇博文 (https://artisticcheese.wordpress.com/2019/07/04/proper-azure-policy-to-verify-azure-hybrid-benefit-enabled/),其中解释了如何根据配置的操作系统类型而不是映像提供来定位虚拟机。

我从小做起,创建了以下策略设置:

"if": 
    "allOf":[
        
            "field": "type",
            "equals": "Microsoft.Compute/virtualMachines"
        ,
        
            "field": "Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType",
            "equals": "Windows"                
        
    ]
,
"then": 
    "effect": "audit"

但是,这些设置将我的所有 Windows VM 显示为不符合以下结果:

不合规原因: 当前值不得等于目标值。 领域 Microsoft.Compute/virtualMachines/storageProfile.osDisk.osType 路径 properties.storageProfile.osDisk.osType 当前值 “窗户” 目标值 “窗户”

我在这里解释“等于”运算符是否错误?我原以为这会与所有基于 Windows 的虚拟机兼容。

【问题讨论】:

【参考方案1】:

如果要将非 Windows 资源标记为不兼容,则必须将等于更改为不等于。因此,如果它不等于 Windows,那么它应该是不合规的,因此需要审核。

【讨论】:

以上是关于Azure 策略未正确针对 Windows VM的主要内容,如果未能解决你的问题,请参考以下文章

Windows Azure 存储访问策略删除

未强制执行 Azure 策略

针对事件(审核日志)查询 Azure Insights REST API 的速率限制策略

Azure API 管理集状态代码策略未按预期工作

VSCode中的Python Azure函数(HTTPTrigger)上的调试未正确启动Func Host Start

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