你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

高级 Azure Policy 管理

本文介绍如何使用基础结构即代码(IaC)大规模管理 Azure Policy。 策略驱动的治理是 Azure 登陆区域的设计原则。 这有助于确保部署的应用程序符合组织的平台。 在环境中管理和测试策略对象可以花费大量精力来确保符合性。 Azure 登陆区域加速器 有助于建立安全基线,但组织可能具有通过部署其他策略必须满足的进一步合规性要求。

什么是企业策略即代码(EPAC)?

EPAC 是一个开源项目,可用于集成 IaC 和管理 Azure Policy。 EPAC 基于 PowerShell 模块构建,并发布到PowerShell 库。 可以使用此项目的功能来:

  • 创建有状态策略部署。 代码中定义的对象将成为 Azure 中部署的策略对象的真相来源。

  • 实现复杂的策略管理方案,例如多租户和主权云部署。

  • 导出和集成策略以合并在 Azure 登陆区域部署之前开发的现有自定义策略。

  • 创建和管理策略豁免和策略文档。

  • 使用示例工作流通过 GitHub Actions 或 Azure Pipelines 演示 Azure Policy 部署。

  • 导出不符合要求的报告并创建修正任务。

使用 EPAC 的原因

可以使用 EPAC 部署和管理 Azure 登陆区域策略。 在以下的情况下,可能需要考虑实施 EPAC 来管理策略:

  • 在想要在新 Azure 登陆区域环境中部署的现有棕色环境中有非托管策略。 导出现有策略,并使用 EPAC 与 Azure 登陆区域策略对象一起管理它们。

  • 你有一个与 Azure 登陆区域不完全一致的 Azure 部署,例如用于测试的多个管理组结构或非常规管理组结构。 其他 Azure 登陆区域部署方法提供的默认分配结构可能不适合你的策略。

  • 你有一个不负责基础结构部署的团队,例如可能需要部署和管理策略的安全团队。

  • 需要 Azure 登陆区域加速器部署中不可用的策略中的功能,例如策略豁免和文档。

开始使用

EPAC GitHub 存储库提供了开始管理 Azure Policy 的详细步骤。 确定项目是否适合你的环境时,请考虑以下因素:

  • 环境拓扑:支持多个租户和复杂的管理组结构。 请考虑如何将策略结构为代码部署以适应拓扑,以便多个团队可以管理策略并测试新策略部署。

  • 权限:考虑如何管理部署的权限,尤其是角色和标识的权限。 EPAC 提供多个阶段来部署策略和角色分配,因此可以使用单独的标识。

  • 现有策略部署:在棕色场景中,你可能已有在部署 EPAC 时必须保留的现有策略。 可以使用 所需的状态策略 来确保 EPAC 仅管理定义的策略并保留现有策略。

  • 部署方法:EPAC 支持 Azure DevOps、GitHub Actions 和 PowerShell 模块来帮助部署策略。 可以使用 EPAC 初学者工具包 中的示例管道,并将它们适应环境和要求。

按照快速入门指南在环境中导出策略对象,并熟悉 EPAC 如何管理 Azure Policy。

有关代码或文档的问题, 请在 GitHub 存储库中提交问题。

替换现有策略部署解决方案

EPAC 取代了 Azure 登陆区域加速器的策略部署功能。 使用这些加速器时,不应使用它们来部署 Azure Policy,因为 EPAC 是环境中策略的真相来源。

有关详细信息,请参阅以下资源,以便通过 Bicep 和 Terraform Azure 登陆区域加速器进行策略管理:

后续步骤