创建 Azure 资源策略来强制用户?
Posted
技术标签:
【中文标题】创建 Azure 资源策略来强制用户?【英文标题】:Create Azure Resource Policy to enforce user? 【发布时间】: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"
【问题讨论】:
【参考方案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
更多信息请参考blog和link。
根据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以上是关于创建 Azure 资源策略来强制用户?的主要内容,如果未能解决你的问题,请参考以下文章