【问题标题】:Create Azure Resource Policy to enforce user?创建 Azure 资源策略来强制用户?
【发布时间】:2017-09-11 20:05:28
【问题描述】:

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

。下面是我尝试修改以强制执行 windows HuB 的代码

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

} }

【问题讨论】:

    标签: azure resources azure-virtual-machine policy


    【解决方案1】:

    如果我的理解是正确的,你可以先找到 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
    

    更多信息请参考bloglink

    根据official document。也许你可以修改你的政策如下:

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

    【讨论】:

    • 非常感谢,我正在考虑使用 "field":"Microsoft.Compute/licenseType", "contains": Windows_Server" 我相信您的方法要好得多,再次感谢。
    • $PolicyAssignmentName = "LimitVMHuBTest" $RG = Get-AzureRmResourceGroup -Name "AzurePolicyTest" $Scope = "/subscriptions/$($Sub.Subscription.SubscriptionId)/resourceGroups/$($RG.ResourceGroupName )" 抛出错误,希望我写的范围正确吗?
    • 当我尝试分配策略时出现以下错误,New-AzureRmPolicyAssignment -Name $PolicyAssignmentName -PolicyDefinition $PolicyDefinition -Scope $Scope New-AzureRmPolicyAssignment :管道已停止。在 line:1 char:1 + New-AzureRmPolicyAssignment -Name $PolicyAssignmentName -PolicyDefini ...New-AzureRmPolicyAssignment : SubscriptionNotFound : 找不到订阅“resourceGroups”。
    • @techie 你能问一个关于这个的新问题吗,cmets 很难阅读。
    • 对不起,是的,我会的,谢谢 walter
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 2019-08-31
    相关资源
    最近更新 更多