Azure Policy 定义结构别名
可以使用属性别名来访问资源类型的特定属性。 通过别名,可限制允许用于资源属性的值和条件。 每个别名会映射到给定资源类型不同 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[*]
正常别名将字段表示为单个值。 当整个值集必须与定义的完全一致时,此字段适用于精确匹配的比较方案。
数组别名
[*]
表示从数组资源属性的元素中所选的值的集合。 例如:
Alias | 选定值 |
---|---|
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] |
ipRules 数组的元素。 |
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action |
ipRules 数组的每个元素中的 action 属性的值。 |
在字段条件中使用数组别名时,可以将每个单独的数组元素与目标值进行比较。 与 count 表达式结合使用时,可以执行以下操作:
- 检查数组的大小。
- 检查是否所有/任意/没有任何数组元素满足复杂条件。
- 检查是否恰好有
n
个数组元素满足复杂条件。
有关详细信息和示例,请参阅引用数组资源属性。
后续步骤
- 有关策略定义结构的详细信息,请参阅基础知识、参数和策略规则。
- 有关计划,请参阅计划定义结构。
- 在 Azure Policy 示例中查看示例。
- 查看了解策略效果。
- 了解如何以编程方式创建策略。
- 了解如何获取符合性数据。
- 了解如何修正不符合的资源。
- 参阅使用 Azure 管理组来组织资源,了解什么是管理组。