可以使用属性别名来访问资源类型的特定属性。 通过别名,可限制允许用于资源属性的值和条件。 每个别名会映射到给定资源类型不同 API 版本的路径。 在策略评估期间,策略引擎会获取该 API 版本的属性路径。
别名列表始终不断增长。 若要查找 Azure Policy 支持的别名,请使用以下方法:
- Azure PowerShell - # Login first with Connect-AzAccount Connect-AzAccount -Environment AzureChinaCloud # Use Get-AzPolicyAlias to list available providers Get-AzPolicyAlias -ListAvailable # Use Get-AzPolicyAlias to list aliases for a Namespace (such as Azure Compute -- Microsoft.Compute) (Get-AzPolicyAlias -NamespaceMatch 'compute').Aliases- 备注 - 若要查找可用于修改效果的别名,请在 Azure PowerShell 4.6.0 或更高版本中使用以下命令: - Get-AzPolicyAlias | Select-Object -ExpandProperty 'Aliases' | Where-Object { $_.DefaultMetadata.Attributes -eq 'Modifiable' }
- Azure CLI - # Login first with following commands az cloud set -n AzureChinaCloud az login # List namespaces az provider list --query [*].namespace # Get Azure Policy aliases for a specific Namespace (such as Azure Compute -- Microsoft.Compute) az provider show --namespace Microsoft.Compute --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
- REST API - GET https://management.chinacloudapi.cn/providers/?api-version=2019-10-01&$expand=resourceTypes/aliases
理解数组别名
多个可用别名都有一个显示为正常名称的版本,以及一个附加有 [*] 的版本,即数组别名。 例如:
- Microsoft.Storage/storageAccounts/networkAcls.ipRules
- Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]
- 正常别名将字段表示为单个值。 当整个值集必须与定义的完全一致时,此字段适用于精确匹配的比较方案。 
- 数组别名 - [*]表示从数组资源属性的元素中所选的值的集合。 例如:
| 别名 | 所选值 | 
|---|---|
| Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] | ipRules数组的元素。 | 
| Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action | action数组的每个元素中的ipRules属性的值。 | 
在字段条件中使用数组别名时,可以将每个单独的数组元素与目标值进行比较。 与 count 表达式结合使用时,可以执行以下操作:
- 检查数组的大小。
- 检查是否所有/任意/没有任何数组元素满足复杂条件。
- 检查是否恰好有 n个数组元素满足复杂条件。
有关详细信息和示例,请参阅引用数组资源属性。
后续步骤
- 有关策略定义结构的详细信息,请参阅基础知识、参数和策略规则。
- 有关计划,请参阅计划定义结构。
- 在 Azure Policy 示例中查看示例。
- 查看了解策略效果。
- 了解如何以编程方式创建策略。
- 了解如何获取符合性数据。
- 了解如何修正不符合的资源。
- 参阅使用 Azure 管理组来组织资源,了解什么是管理组。