在 Azure 存储中实现静态数据加密

在 Azure 存储中实现静态数据加密

2025年3月1日

本技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师在 Azure 存储中实施和配置静态数据加密。保护存储的数据是一项基本的安全措施。 Azure 存储默认通过 Microsoft 托管密钥 (MMK) 提供强加密,并允许通过 Azure Key Vault 使用客户托管密钥 (CMK) 来实现更好的控制 [1]。

简介

静态数据加密可确保存储的数据免受未经授权的访问。在 Azure 中,Azure 存储中的所有数据默认都会加密 [2]。对于具有严格合规性要求的组织来说,使用 CMK 至关重要,因为它可以完全控制加密密钥的生命周期(创建、轮换和撤销)。

本指南将涵盖两种加密模型的配置,重点是实施和验证客户管理的密钥。

为什么静态数据加密至关重要?

  • 防止未经授权的访问:确保在没有解密密钥的情况下无法读取数据。
  • 法规合规性:帮助满足 LGPD、GDPR、HIPAA 等法规。
  • 密钥控制:通过 CMK,组织可以保持对加密密钥的完全控制。

先决条件

  1. 有效的 Azure 订阅
  2. 管理访问权限:管理存储帐户和密钥保管库的权限。
  3. 现有 Azure 存储帐户(首选 StorageV2)。
  4. Azure Key Vault 用于存储 CMK。

一步一步:配置加密

1. 使用 Microsoft 托管密钥加密(默认)

这是默认的自动设置。要检查:

  1. 导航到 Azure 门户中的存储帐户
  2. 在“安全+网络”下,选择加密
  3. 确认默认的“加密类型”为“Microsoft Managed Keys”。

2. 使用客户管理密钥 (CMK) 实施加密

2.1。创建 Azure Key Vault 和密钥

  1. 创建新的 Azure Key Vault。重要提示:在创建过程中启用清除保护
  2. 在 Key Vault 内,导航到 Keys 并单击 Generate/Import 以创建新密钥(例如:storage-cmk-key)。

2.2。配置存储帐户访问

  1. 导航到您的存储帐户
  2. 转到 加密 并将“加密类型”更改为“客户管理的密钥”。
  3. 选择使用 Key Vault 中的密钥的选项。执行此操作时,Azure 将提示您为存储帐户创建托管标识。允许。
  4. 现在,返回 Key Vault 并转到 访问策略
  5. 创建新的访问策略。授予“Get”、“Wrap Key”和“Unwrap Key”密钥权限。
  6. 在“安全主体”步骤中,搜索并选择您的存储帐户的托管身份。
  7. 保存访问策略。

2.3。配置存储帐户以使用 CMK

  1. 返回存储帐户的 加密 页面。
  2. 选择密钥保管库和您创建的密钥。
  3. 保存更改。从现在起,帐户中记录的所有数据都将使用您的密钥进行加密。

验证和测试

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 最关键的测试。

  1. Key Vault 中,导航到正在使用的密钥。
  2. 单击当前密钥版本并将启用设置更改为
  3. 等待几分钟。
  4. 尝试访问存储帐户中的数据(例如,尝试再次下载 blob)。
  5. 预期结果:操作应失败,并出现访问被拒绝错误 (403 Forbidden),证明您可以完全控制数据访问。
  6. 不要忘记重新启用密钥以恢复访问。

按键轮换

密钥轮换是一项重要的安全实践。使用 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 存储加密的客户管理密钥