【问题标题】:Azure ARM policies, using the predefined definitions via CLIAzure ARM 策略,通过 CLI 使用预定义的定义
【发布时间】:2017-06-24 13:54:49
【问题描述】:

我想知道是否可以通过 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"

【问题讨论】:

    标签: azure azure-cli azure-cli2


    【解决方案1】:

    查看此方法的 Azure CLI 代码,我认为它不可能。它接受的唯一参数是策略、名称、显示名称、资源组名称、范围。要使用默认策略,您需要传递参数。

    看看here

    Powershell 似乎支持这一点:

    New-AzureRmPolicyAssignment -Name <string> -Scope <string> -PolicyDefinition <psobject>
        -PolicyParameter <string> [-DisplayName <string>]
    

    【讨论】:

      【解决方案2】:

      如果我的理解是正确的,我认为是可以的。

      您可以使用策略分配命令将策略应用于所需范围:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多