导出 Azure Policy 资源

本文介绍了如何导出现有的 Azure Policy 资源。 导出资源很有用,建议将其用于备份,而这也是云治理和处理策略即代码过程中的一个重要步骤。 可以通过 REST APIAzure CLIAzure PowerShell 导出 Azure Policy 资源。

使用 Azure CLI 导出

Azure Policy 定义、计划和分配都可以使用 Azure CLI 导出为 JSON。 上述每条命令都使用一个 name 参数来指定要为哪个对象获取 JSON。 name 属性通常是 GUID,而不是对象的 displayName。

下面是一个示例,说明如何使用名称 f88a430f-115f-4d00-a92e-0badcd84d36e 获取策略定义的 JSON

注意

可以使用以下 Azure CLI 命令检查所有策略定义的 NameDisplayName 集合。 az policy definition list --query "[].{Name:name,DisplayName:displayName}" -o table

以下内容中有一个演示。

名称 显示名称
f88a430f-115f-4d00-a92e-0badcd84d36e AKS-Monitoring-Addon
az policy definition show --name 'f88a430f-115f-4d00-a92e-0badcd84d36e'

使用 Azure PowerShell 导出

Azure Policy 定义、计划和分配都可以使用 Azure PowerShell 导出为 JSON。 上述每个 cmdlet 都使用一个 Name 参数来指定要为哪个对象获取 JSON。 Name 属性通常是一个 GUID(全局唯一标识符),而不是对象的 displayName。

以下示例演示如何获取名称(如前所述,是一个 GUID)为 f88a430f-115f-4d00-a92e-0badcd84d36e 的策略定义的 JSON

注意

可以使用以下 Azure PowerShell cmdlet 检查所有策略定义的 NameDisplayName 集合。 Get-AzPolicyDefinition | Select {$_.Name,$_.Properties.DisplayName}

以下内容中有一个演示。

名称 显示名称
f88a430f-115f-4d00-a92e-0badcd84d36e AKS-Monitoring-Addon
Get-AzPolicyDefinition -Name 'f88a430f-115f-4d00-a92e-0badcd84d36e' | ConvertTo-Json -Depth 10

在 Azure 门户中使用 Resource Graph 导出到 CSV

使用 Azure Resource Graph,可以通过复杂的筛选、分组和排序进行大规模查询。 Azure Resource Graph 支持策略资源表,其中包含策略资源,例如定义、分配和豁免。 请查看我们的示例查询。Resource Graph 资源管理器门户体验允许使用下载到 CSV工具栏选项将查询结果下载到 CSV。

后续步骤