我想知道是否可以通过CLI使用默认的预定义ARM策略进行分配。
基本上,我注意到有一个默认策略来限制门户网站中的位置,所以如果你使用门户网站,你可以选择它,然后它允许你选择一些区域。
如果我从cli创建位置策略,我似乎必须创建一个全新的自定义策略定义,它与定义页面中的默认策略定义一起显示。
有没有办法简单地使用默认值,但指定哪些区域?
以下是自定义定义:
az policy definition create --name permittedRegions --description "location policy" --rules '{
"if" : {
"not" : {
"field" : "location",
"in" : ["westus", "westus2", "centralus", "westcentralus"]
}
},
"then" : {
"effect" : "deny"
}
}'
az policy assignment create --name permittedRegionsInSubscription --policy permittedRegions --scope /subscriptions/"$subscriptionId"
答案 0 :(得分:0)
查看此方法的Azure CLI代码,我认为不可能。它只接受的参数是policy,name,display_name,resource_group_name,scope。要使用默认策略,您需要传递参数。
看看here
Powershell似乎支持:
New-AzureRmPolicyAssignment -Name <string> -Scope <string> -PolicyDefinition <psobject>
-PolicyParameter <string> [-DisplayName <string>]
答案 1 :(得分:0)
如果我的理解是正确的,我认为这是可能的。
您可以使用策略分配命令将策略应用于所需范围:
az policy assignment create --name regionPolicyAssignment --policy regionPolicyDefinition --scope /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}
有关此内容的详情,请参阅此链接:Use scripts to assign policy。
此外,您可以使用azure cli 2.0更新您的政策,请参阅此link。