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

更新 Azure 登陆区域自定义策略

随着时间的推移,Azure 登陆区域自定义策略和策略计划会更新到可以合并到 Azure 环境中的较新版本。 本文介绍如何在新版本发布时更新 Azure 登陆区域自定义策略和策略计划。

本文介绍高级手动更新步骤,并提供有关处理 TerraformBicep 模块化实现更新的参考。 若要使用 Bicep 将 Azure 登陆区域自定义策略迁移到 Azure 内置策略,请参阅 将 Azure 登陆区域策略迁移到 Azure 内置策略

以下信息图提供了 Azure 登陆区域自定义策略更新的决策树和流程流: 显示 Azure 登陆区域自定义策略更新过程的决策树的关系图。

注意

删除现有策略分配时,环境在重新分配策略所需的时间内不受保护。 分配更新的策略后,请查看策略符合性部分,了解任何不正常的资源并修正它们。

Azure 登陆区域环境的更新步骤

本部分介绍将 Azure 登陆区域自定义策略和计划更新为较新版本的一般高级步骤。

检测更新

使用以下权威选项来确定一个或多个 Azure 登陆区域自定义策略已过时:

应用更新

若要确定是否将更新的自定义策略应用到 Azure 登陆区域部署:

  1. 确定 Azure 资产当前是否在任何范围内分配任何过时的自定义策略。 如果使用 Azure 治理可视化工具,可以通过检查 TenantSummary 来查看当前分配的策略。
  2. 确定任何过时的自定义策略是否属于 Azure 登陆区域自定义策略计划。
  3. 确定 Azure 资产当前是否在任何范围内分配任何过时的自定义策略计划。

根据上述调查结果,执行以下操作:

未分配策略

  • 如果未在 Azure 资产中分配过时策略,并且不是现有自定义策略计划的一部分,请将过时的策略定义替换为 Azure 登陆区域中间根管理组中更新的策略定义,例如 Contoso

  • 如果自定义策略计划已更新,但未在 Azure 资产中分配,请将过时的自定义策略计划替换为 Azure 登陆区域中间根管理组中更新的自定义策略计划,例如 Contoso

具有未更改参数的策略,而不是自定义策略计划的一部分

如果将过时的 Azure 登陆区域策略分配给 Azure 资产中的任何范围,则不是现有 Azure 登陆区域自定义策略计划的一部分,并且参数名称和编号尚未更改:

  • 例如 Contoso,将现有自定义策略定义内容替换为 Azure 登陆区域中间根管理组中更新的自定义策略定义内容。 有关详细指南,请参阅 Azure 登陆区域用户指南

具有已更改参数的策略,而不是自定义策略计划的一部分

如果将过时的 Azure 登陆区域策略分配给 Azure 资产中的任何范围,则不是现有 Azure 登陆区域自定义策略计划的一部分,并且参数名称和编号已更改:

  1. 捕获已分配的所有过时策略分配及其参数值。
  2. 执行以下操作之一:
    • 如果策略分配包含多个策略定义,则通过在分配的所有范围内删除过时的策略来更新策略分配。
    • 如果策略分配仅包含过时的策略,请在分配的所有范围内删除现有策略分配。
  3. 例如 Contoso,从 Azure 登陆区域中间根管理组中删除过时的策略。
  4. 将更新的策略导入 Azure 登陆区域中间根管理组。
  5. 通过在预先记录的作用域中包含更新的策略来更新现有策略分配或创建新的策略分配。
  6. 重新分配更新的自定义策略后,请查看策略符合性部分,以验证资源是否处于正常状态。

有关详细指南,请参阅 Azure 登陆区域用户指南

通过自定义策略计划分配未更改参数的策略

如果过时的 Azure 登陆区域策略是现有 Azure 登陆区域自定义策略计划的一部分,则分配给 Azure 资产中的任何范围,并具有不变的参数名称和数字:

  • 将现有自定义策略定义内容替换为更新的自定义策略定义内容。 无需对自定义策略计划或分配进行进一步更改,因为参数编号和名称保持不变。 有关详细指南,请参阅 Azure 登陆区域用户指南

具有通过自定义策略计划分配的已更改参数的策略

如果过时策略是现有自定义策略计划的一部分,则分配给 Azure 资产中的任何范围,并更改了参数名称和数字:

  1. 捕获分配的所有策略分配,以及自定义策略计划的参数值。

  2. 删除分配的所有范围的现有策略分配。

  3. 从自定义策略计划中删除过时的策略。

    无法从自定义策略计划中删除计划参数。 请考虑重用这些参数。

  4. 例如 Contoso,从 Azure 登陆区域中间根管理组中删除过时的策略。

  5. 将更新的策略导入 Azure 登陆区域中间根管理组。

  6. 将更新的策略添加到自定义策略计划。

    • 如果适用,请重复使用以前的计划参数。
    • 如果适用,请遵循自定义策略计划定义的现有命名模式来添加其他计划参数。
  7. 重新分配更新的自定义策略计划。

  8. 重新分配更新的自定义策略计划后,请查看策略符合性部分,以验证资源是否处于正常状态。

有关详细指南,请参阅 Azure 登陆区域用户指南

更新了分配的自定义策略计划

如果 Azure 登陆区域自定义策略计划已完全更新,并在 Azure 资产中的任何范围内分配:

  1. 捕获分配的所有策略分配,以及 Azure 登陆区域自定义策略计划的参数值。

  2. 删除分配的所有范围的现有策略分配。

  3. 例如 Contoso,从中间根管理组中删除过时的自定义策略计划。 在删除之前,记录所有自定义策略定义名称和 ID,假设所有自定义策略定义都是最新的。

  4. 使用相应的策略引用导入更新的自定义策略计划定义。

    可以在自定义策略的通用contoso范围内获取更新计划policySetDefinitions。 请记住, contoso 将范围更改为每个策略定义 ID 的管理组层次结构伪根名称。

  5. 重新分配更新的自定义策略计划。

  6. 重新分配更新的自定义策略计划后,请查看策略符合性部分,以验证资源是否处于正常状态。

有关详细指南,请参阅 Azure 登陆区域用户指南

Terraform 模块部署的更新步骤

如果使用 Azure 登陆区域 Terraform 模块 管理 Azure 登陆区域部署,本部分提供用于更新 Azure 登陆区域自定义策略和计划的资源。

使用 Terraform 检测更新

使用检测更新中的方法来确定策略是否已更改。 在 Terraform 模块中 ,还可以在发布 页上查看策略的更改。 有关示例,请参阅 v2.3.0 的策略更新。

使用 Terraform 进行更新

Azure 登陆区域 Terraform 模块提供部署中断性变更的更新指南。 按照升级指南中的版本 升级指南进行操作。

Bicep 模块部署的更新步骤

如果使用 ALZ-Bicep 模块 管理 Azure 登陆区域部署,本部分提供用于更新 Azure 登陆区域自定义策略和计划的资源。

使用 Bicep 检测更新

使用检测更新中的方法来确定策略是否已更改。 还可以在 ALZ-Bicep 版本中查看对 ALZ-Bicep 策略的更改。

使用 Bicep 进行更新

ALZ-Bicep 提供了将 Azure 登陆区域自定义策略更新到较新的策略的通用指南。 有关详细信息,请参阅 如何将 Azure 登陆区域自定义策略迁移到 Azure 内置策略

后续步骤

无论使用 Azure 门户、Bicep 还是 Terraform 来管理 Azure 登陆区域基础结构,都需要随时间推移管理策略更改。 使用本文中的流作为起点,为 Azure 登陆区域实现制定有关策略管理的过程。