Azure 自动化中的安全最佳做法

重要

Azure 自动化运行方式帐户(包括经典运行方式帐户)已于 2023 年 9 月 30 日停用,被托管标识取代。 再也无法通过 Azure 门户创建或续订运行方式帐户。 有关详细信息,请参阅从现有运行方式帐户迁移到托管标识

本文详细介绍了安全执行自动化作业的最佳做法。 Azure 自动化提供了一个平台,用于协调频繁、耗时、容易出错的基础结构管理和操作任务,以及任务关键型操作。 使用此服务,可以跨云和混合环境无缝执行脚本,称为自动化 Runbook。

主动保护并强化 Azure 自动化服务的平台组件。 该服务会经历可靠的安全性和合规性检查。 Azure 安全基线详细介绍了最佳做法和建议,以帮助提高 Azure 上工作负载、数据和服务的安全性。 另请参见适用于 Azure 自动化的 Azure 安全基线

自动化帐户的安全配置

本部分指导你安全地配置自动化帐户。

权限

  1. 在授予对自动化资源的访问权限时,请遵循最低特权原则完成工作。 实现自动化精细 RBAC 角色,并避免分配更广泛的角色或范围(例如订阅级别)。 创建自定义角色时,只包括用户需要的权限。 通过限制角色和范围,可以限制在安全主体被入侵时面临风险的资源。 有关基于角色的访问控制概念的详细信息,请参阅 Azure 基于角色的访问控制最佳做法

  2. 避免使用包含具有通配符 (*) 的角色,因为它意味着对自动化资源或子资源的完全访问权限(例如 automationaccounts/*/read)。 请改为仅对所需权限使用特定操作。

  3. 如果用户不需要访问自动化帐户中的所有 Runbook,请配置 Runbook 级别的基于角色的访问权限

  4. 限制高特权角色(如自动化参与者)的数量,以减少遭到入侵的所有者泄露的可能性。

  5. 使用 Microsoft Entra Privileged Identity Management 保护特权帐户免受恶意网络攻击,以通过报告和警报提高其使用可见性。

保障混合 Runbook 辅助角色的安全

  1. 使用混合 Runbook 辅助角色 VM 扩展来安装混合辅助角色,该扩展不依赖于 Log Analytics 代理。 建议使用此平台,因为它利用了基于 Microsoft Entra ID 的身份验证。 使用 Azure 自动化的混合 Runbook 辅助角色功能,可以直接在托管 Azure 或非 Azure 计算机中的角色的计算机上执行 runbook,以在本地环境中执行自动化作业。

    • 仅对负责管理操作(例如,注册或注销混合辅助角色和混合组,以及针对混合 Runbook 辅助角色组执行 Runbook)的用户使用高特权用户或混合辅助角色自定义角色
    • 同一用户还需要在托管混合辅助角色的计算机上具有 VM 参与者访问权限。 由于 VM 参与者是一个高特权角色,因此请确保只有有限的一组用户有权管理混合工作,从而减少遭到入侵的所有者泄露的可能性。

    遵循 Azure RBAC 最佳做法

  2. 遵循最低特权原则,仅向用户授予针对混合辅助角色执行 Runbook 所需的权限。 不要向托管混合 runbook 辅助角色的计算机提供不受限的权限。 在访问不受限的情况下,如果用户具有 VM 参与者权限或有权针对混合辅助角色计算机运行命令,则他们可以使用来自混合辅助角色计算机的自动化帐户运行方式证书,并能够以订阅参与者身份进行恶意用户访问。 这可能会危害 Azure 环境的安全。 为负责针对混合 Runbook 辅助角色和混合 Runbook 辅助角色组管理自动化 Runbook 的用户使用混合辅助角色自定义角色

  3. 注销任何未使用的或未响应的混合辅助角色。

  4. 强烈建议永远不要在托管域控制器的虚拟机上配置混合辅助角色扩展。 安全最佳做法不建议进行此类设置,因为通过 Azure 自动化作业将域控制器暴露给潜在攻击途径具有高风险。 域控制器应受到高度保护并与非基本服务隔离,以防止未经授权访问并维护 Active Directory 域服务 (ADDS) 环境的完整性。

身份验证证书和标识

  1. 对于 Runbook 身份验证,建议使用托管标识,而不是运行方式帐户。 运行方式帐户是管理开销,我们计划弃用它们。 Microsoft Entra ID 的托管标识让你的 runbook 可以轻松访问其他受 Microsoft Entra 保护的资源,如 Azure Key Vault。 标识由 Azure 平台托管,无需设置或转交任何机密。 有关 Azure 自动化中的托管标识的详细信息,请参阅 Azure 自动化的托管标识

    可以使用两种类型的托管标识对自动化帐户进行身份验证:

    • 系统分配的标识与你的应用程序相绑定,如果删除应用,标识也会被删除。 一个应用只能具有一个系统分配的标识。
    • 用户分配的标识是可以分配给应用的独立 Azure 资源。 一个应用可以具有多个用户分配的标识。

    若要了解详细信息,请遵循托管标识最佳做法建议

  2. 定期轮换 Azure 自动化密钥。 密钥重新生成阻止日后的 DSC 或混合辅助角色节点注册使用以前的密钥。 建议使用基于扩展的混合辅助角色,因为它使用 Microsoft Entra 身份验证而不是自动化密钥。 Microsoft Entra ID 集中控制和管理标识与资源凭据。

数据安全

  1. 保护 Azure 自动化中的资产,包括凭据、证书、连接和加密的变量。 这些资产在 Azure 自动化中受到了多级加密的保护。 默认情况下,数据使用 Azure 管理的密钥进行加密。 为了进一步控制加密密钥,可以提供客户管理的密钥,用于对自动化资产进行加密。 这些密钥必须存在于 Azure Key Vault 中,以便自动化服务能够访问密钥。 请参阅使用客户管理的密钥加密安全资产

  2. 不要打印作业输出中的任何凭据或证书的详细信息。 作为低特权用户的自动化作业操作员可以查看敏感信息。

  3. 维护自动化配置(如 Runbook 和资产)的有效备份,确保备份经过验证并受保护,以在意外事件发生后保持业务连续性。

Azure 自动化策略

查看适用于 Azure 自动化的 Azure Policy 建议并采取适当的措施。 请参阅 Azure 自动化策略

后续步骤