在 Azure 存储中实现静态数据加密
2025年3月1日
本技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师在 Azure 存储中实施和配置静态数据加密。保护存储的数据是一项基本的安全措施。 Azure 存储默认通过 Microsoft 托管密钥 (MMK) 提供强加密,并允许通过 Azure Key Vault 使用客户托管密钥 (CMK) 来实现更好的控制 [1]。
简介
静态数据加密可确保存储的数据免受未经授权的访问。在 Azure 中,Azure 存储中的所有数据默认都会加密 [2]。对于具有严格合规性要求的组织来说,使用 CMK 至关重要,因为它可以完全控制加密密钥的生命周期(创建、轮换和撤销)。
本指南将涵盖两种加密模型的配置,重点是实施和验证客户管理的密钥。
为什么静态数据加密至关重要?
- 防止未经授权的访问:确保在没有解密密钥的情况下无法读取数据。
- 法规合规性:帮助满足 LGPD、GDPR、HIPAA 等法规。
- 密钥控制:通过 CMK,组织可以保持对加密密钥的完全控制。
先决条件
- 有效的 Azure 订阅。
- 管理访问权限:管理存储帐户和密钥保管库的权限。
- 现有 Azure 存储帐户(首选 StorageV2)。
- Azure Key Vault 用于存储 CMK。
一步一步:配置加密
1. 使用 Microsoft 托管密钥加密(默认)
这是默认的自动设置。要检查:
- 导航到 Azure 门户中的存储帐户。
- 在“安全+网络”下,选择加密。
- 确认默认的“加密类型”为“Microsoft Managed Keys”。
2. 使用客户管理密钥 (CMK) 实施加密
2.1。创建 Azure Key Vault 和密钥
- 创建新的 Azure Key Vault。重要提示:在创建过程中启用清除保护。
- 在 Key Vault 内,导航到 Keys 并单击 Generate/Import 以创建新密钥(例如:
storage-cmk-key)。
2.2。配置存储帐户访问
- 导航到您的存储帐户。
- 转到 加密 并将“加密类型”更改为“客户管理的密钥”。
- 选择使用 Key Vault 中的密钥的选项。执行此操作时,Azure 将提示您为存储帐户创建托管标识。允许。
- 现在,返回 Key Vault 并转到 访问策略。
- 创建新的访问策略。授予“Get”、“Wrap Key”和“Unwrap Key”密钥权限。
- 在“安全主体”步骤中,搜索并选择您的存储帐户的托管身份。
- 保存访问策略。
2.3。配置存储帐户以使用 CMK
- 返回存储帐户的 加密 页面。
- 选择密钥保管库和您创建的密钥。
- 保存更改。从现在起,帐户中记录的所有数据都将使用您的密钥进行加密。
验证和测试
1. 测试数据访问
配置CMK后,上传和下载文件。操作必须透明。
# 加载测试文件
az storage blob upload --account-name <存储帐户> -c <容器> -n "test.txt" -f "local/path/to/test.txt" --auth-mode 登录
# 下载测试文件
az storage blob download --account-name <存储帐户> -c <容器> -n "test.txt" -f "local/path/to/downloaded.txt" --auth-mode 登录
2. 测试密钥访问撤销
这是对 CMK 最关键的测试。
- 在 Key Vault 中,导航到正在使用的密钥。
- 单击当前密钥版本并将启用设置更改为否。
- 等待几分钟。
- 尝试访问存储帐户中的数据(例如,尝试再次下载 blob)。
- 预期结果:操作应失败,并出现访问被拒绝错误 (403 Forbidden),证明您可以完全控制数据访问。
- 不要忘记重新启用密钥以恢复访问。
按键轮换
密钥轮换是一项重要的安全实践。使用 CMK,您有两种选择:
- 手动轮换:在 Key Vault 中创建新版本的密钥,并更新存储帐户中的加密配置以指向新版本。
- 自动轮换:在存储帐户上配置 CMK 时,请勿指定密钥版本。存储帐户将定期检查 Key Vault 并自动使用最新版本的密钥 [3]。
最佳实践
- 在 Key Vault 中启用擦除保护和软删除,以保护您的密钥免遭意外或恶意删除。
- 使用托管标识允许存储帐户访问 Key Vault。它比使用其他方法更安全。
- 监控 Key Vault 活动:使用 Key Vault 诊断日志来审核谁在访问您的密钥以及何时访问您的密钥。
- 需要安全传输 (HTTPS):设置存储帐户时,始终需要安全传输来加密传输中的数据。
结论
对 Azure 存储中的静态数据进行加密是一个基本的防御层。虽然 Microsoft 管理的密钥默认提供零工作量的安全性,但客户管理的密钥 (CMK) 提供了许多组织所需的控制和保证级别,以满足严格的安全性和合规性要求。通过掌握 CMK 实施和管理,您可以确保您的数据受到保护并处于您的控制之下。
参考文献
[1] 微软。 (2023)。 Azure 存储加密概述。 [2] 微软。 (2023)。 静态数据的 Azure 存储服务加密。 [3] 微软。 (2023)。 用于 Azure 存储加密的客户管理密钥。