管理 Azure 自动化数据
本文包含多个主题,介绍如何在 Azure 自动化环境中保护数据。
用于 Azure 自动化的 TLS
为了确保传输到 Azure 自动化的数据的安全性,我们强烈建议你配置为使用传输层安全性 (TLS)。 下面列出了通过 HTTPS 与自动化服务进行通信的方法或客户端:
Webhook 调用
用户混合 Runbook 辅助角色(基于扩展和基于代理)
由 Azure 自动化更新管理和 Azure 自动化更改跟踪和库存管理的计算机
Azure Automation DSC 节点
我们发现旧版 TLS/安全套接字层 (SSL) 容易受到攻击,尽管目前出于向后兼容,这些协议仍可正常工作,但我们不建议使用。 除非必要,否则我们不建议将代理显式设置为仅使用 TLS 1.2,因为这可能会破坏平台级安全功能,导致无法自动检测并利用推出的更新且更安全的协议,例如 TLS 1.3。
有关适用于 Windows 和 Linux 的 Log Analytics 代理(混合 Runbook 辅助角色的依赖项)的 TLS 支持的信息,请参阅 Log Analytics 代理概述 - TLS。
升级混合辅助角色和 Webhook 调用的 TLS 协议
从 2024 年 10 月 31 日开始,使用传输层安全性 (TLS) 1.0 和 1.1 协议的所有基于代理和扩展的用户混合 Runbook 辅助角色、Webhook 和 DSC 节点将不再能够连接到 Azure 自动化。 使用 TLS 1.0 和 1.1 协议在混合辅助角色上运行或计划的所有作业都将失败。
确保触发 Runbook 的 Webhook 调用在 TLS 1.2 或更高版本上导航。 确保进行注册表更改,以便基于代理和扩展的辅助角色仅就 TLS 1.2 及更高版本协议进行协商。
对于 Linux 混合辅助角色,请运行以下 Python 脚本以升级到最新的 TLS 协议。
import os
# Path to the OpenSSL configuration file as per Linux distro
openssl_conf_path = "/etc/ssl/openssl.cnf"
# Open the configuration file for reading
with open(openssl_conf_path, "r") as f:
openssl_conf = f.read()
# Check if a default TLS version is already defined
if "DEFAULT@SECLEVEL" in openssl_conf:
# Update the default TLS version to TLS 1.2
openssl_conf = openssl_conf.replace("CipherString = DEFAULT@SECLEVEL", "CipherString = DEFAULT@SECLEVEL:TLSv1.2")
# Open the configuration file for writing and write the updated version
with open(openssl_conf_path, "w") as f:
f.write(openssl_conf)
# Restart any services that use OpenSSL to ensure that the new settings are applied
os.system("systemctl restart apache2")
print("Default TLS version has been updated to TLS 1.2.")
else:
# Add the default TLS version to the configuration file
openssl_conf += """
Options = PrioritizeChaCha,EnableMiddleboxCompat
CipherString = DEFAULT@SECLEVEL:TLSv1.2
MinProtocol = TLSv1.2
"""
# Open the configuration file for writing and write the updated version
with open(openssl_conf_path, "w") as f:
f.write(openssl_conf)
# Restart any services that use OpenSSL to ensure that the new settings are applied
os.system("systemctl restart apache2")
print("Default TLS version has been added as TLS 1.2.")
特定于平台的指南
平台/语言 | 支持 | 更多信息 |
---|---|---|
Linux | Linux 分发版往往依赖于 OpenSSL 来提供 TLS 1.2 支持。 | 请检查 OpenSSL 变更日志,确认你的 OpenSSL 版本是否受支持。 |
Windows 8.0 - 10 | 受支持,并且默认已启用。 | 确认是否仍在使用默认设置。 |
Windows Server 2012 - 2016 | 受支持,并且默认已启用。 | 确认是否仍在使用默认设置 |
Windows 7 SP1 和 Windows Server 2008 R2 SP1 | 受支持,但默认未启用。 | 有关启用方法的详细信息,请参阅传输层安全性 (TLS) 注册表设置页。 |
数据保留
在你删除 Azure 自动化中的某个资源时,该资源在被永久移除之前会保留多日以供审核。 在此期间,无法查看或使用该资源。 此策略也适用于属于已删除的自动化帐户的资源。 保留策略应用于所有用户并且当前无法自定义。 但是,如果需要将数据保留更长时间,则可以将 Azure 自动化作业数据转发到 Azure Monitor 日志。
下表汇总了各种资源的保留策略。
数据 | 策略 |
---|---|
帐户 | 在帐户被用户删除 30 天后将其永久删除。 |
资产 | 在资产被用户删除 30 天后或者在包含该资产的帐户被用户删除 30 天后将其永久删除。 资产包括变量、计划、凭据、证书、Python 2 包和连接。 |
DSC 节点 | 在使用 Azure 门户或 Windows PowerShell 中的 Unregister-AzAutomationDscNode cmdlet 从自动化帐户中取消注册 DSC 节点 30 天后,将永久删除该节点。 在用户删除保存节点的帐户 30 天后,也会永久删除该节点。 |
作业 | 作业在修改之后(例如在作业完成、停止或暂停之后)删除,并在 30 天后永久删除。 |
模块 | 在模块被用户删除 30 天后或者在包含该模块的帐户被用户删除 30 天后将其永久删除。 |
节点配置/MOF 文件 | 生成新节点配置 30 天后,将永久删除旧节点配置。 |
节点报告 | 在生成该节点的新报告 90 天后永久删除节点报告。 |
Runbook | 在用户删除 Runbook 30 天后,或者在用户删除包含该资源的帐户 30 天后,系统会永久移除该资源1。 |
1通过 Azure 支持归档 Azure 支持事件,可以在 30 天内恢复 Runbook。 转到 Azure 支持站点并选择“提交支持请求”。
数据备份
删除 Azure 中的某个自动化帐户时,该帐户中的所有对象都会删除。 对象包括 runbook、模块、配置、设置、作业和资产。 可以在 30 天内恢复已删除的自动化帐户。 在删除自动化帐户之前,还可以参考以下信息来备份该帐户的内容:
Runbook
可以使用 Azure 门户或 Windows PowerShell 中的 Get-AzureAutomationRunbookDefinition cmdlet 将 Runbook 导出到脚本文件。 可以将这些脚本文件导入到另一个自动化帐户中,如 在 Azure 自动化中管理 runbook 中所述。
集成模块
你无法从 Azure 自动化导出集成模块,这些模块必须从自动化帐户外部提供。
资产
无法导出 Azure 自动化资产:证书、连接、凭据、计划和变量。 可以改为使用 Azure 门户和 Azure cmdlet 来记录这些资产的详细信息。 然后使用这些详细信息创建导入到另一个自动化帐户中的 Runbook 使用的任何资产。
无法使用 cmdlet 检索已加密变量或凭据密码字段的值。 如果不知道这些值,可以在 runbook 中检索它们。 若要检索变量值,请参阅 Azure 自动化中的变量资产。 若要了解有关检索凭据值的详细信息,请参阅 Azure 自动化中的凭据资产。
DSC 配置
可以使用 Azure 门户或 Windows PowerShell 中的 Export-AzAutomationDscConfiguration cmdlet 将 DSC 配置导出到脚本文件。 可以在另一个自动化帐户中导入并使用这些配置。
数据驻留
在创建 Azure 自动化帐户期间指定区域。 资产、配置、日志等服务数据存储在该区域,可能在同一地理位置内的其他区域传输或处理。 这些全球终结点是为最终用户提供高性能、低延迟体验所需的,无论他们身在何处。
后续步骤
- 若要了解安全准则,请参阅 Azure 自动化中的安全最佳做法。
- 若要了解有关 Azure 自动化中的安全资产的详细信息,请参阅加密 Azure 自动化中的安全资产。
- 若要了解有关地域复制的详细信息,请参阅创建和使用活动异地复制。