创建 Azure 资源策略来强制执行用户?

Create Azure Resource Policy to enforce user?

我正在寻找强制用户使用特定图像的选项,我正在尝试修改以下代码以使用 HuB 图像

。下面是我试图修改以强制执行 windows HuB

的代码
"if": {
  "allOf": [
    {
      "field": "type",
      "in": [ "Microsoft.Compute/virtualMachines", "Microsoft.Compute/VirtualMachineScaleSets" ]
    },
    {
      "field": "Microsoft.Compute/licenseType",
      "exists": Windows_Server
    }
  ]
},
"then": {
  "effect": "deny"
}

} }

如果我的理解是正确的,你可以先找到Hub镜像的SKU。

对于 Windows 服务器:

PS C:\Program Files\> Get-AzureRmVMImagesku -Location westus -PublisherName MicrosoftWindowsServer -Offer WindowsServer-Hub|select Skus

Skus
----
2008-R2-SP1-HUB
2012-Datacenter-HUB
2012-R2-Datacenter-HUB
2016-Datacenter-HUB

对于Windows客户:

PS C:\Program Files> Get-AzureRMVMImageSku -Location "West US" -Publisher "MicrosoftWindowsServer" -Offer "Windows-HUB"|select Skus

Skus
----
Windows-10-HUB

有关此的更多信息,请参阅此 blog and this link

根据official document。也许您可以按如下方式修改您的政策:

{
  "if":{
   {
     "anyOf": [
       {
         "field": "Microsoft.Compute/imageSku",
         "like": "2016-Datacenter-HUB*"
       },
       {
         "field": "Microsoft.Compute/imageSku",
         "like": "Windows-10-HUB*"
       },
       {
       .....
       }
     ] 
   }
  },
 "then": {
        "effect": "deny"
    }
}