Azure策略是管理Azure订阅中的标准策略的绝佳工具。可用于创建、分配和管理策略。 这些策略将在整个资源中强制实施不同的规则和效果,以便这些资源符合公司标准和服务级别协议。Azure Policy 通过评估资源是否符合指定策略来满足此需求。 例如,可以设置一项策略,仅允许环境中有特定 SKU 大小的虚拟机。 实施此策略后,将评估新资源和现有资源的符合性。 通过使用正确的策略类型,可以确保现有资源的符合性。
下面就让我们来一起看一下如何使用一个非常简单的策略定义来实现限制订阅级别上的所有Azure Service Manager(ASM,又名Classic)资源。
定义JSON文件:
{
"if": {
"field": "type",
"like": "Microsoft.Classic*"
},
"then": {
"effect": "Deny"
}
}
应用策略:
定义策略:
$definition = New-AzureRmPolicyDefinition -Name "restrict-all-asm-resources" -DisplayName "Restrict All ASM Resources" -description "This policy enables you to restrict ALL Azure Service Manager (ASM, aka Classic) resources." -Policy '.\Restrict-ALL-ASM-Resources.json' -Mode All
应用策略:
$assignment = New-AzureRMPolicyAssignment -Name 'Restrict All ASM Resources' -PolicyDefinition $definition -Scope "/subscriptions/$subscriptionId"
策略应用以后,当我试图创建一个经典的VNet时,无法通过验证: