本文概述了如何在 Microsoft Azure 中使用加密。 其中涵盖了加密的主要领域,包括 Azure Key Vault 的静态加密、动态加密以及密钥管理。
静态数据加密
静态数据包括以任何数字格式驻留在物理介质上的永久性存储中的信息。 Azure 提供各种数据存储解决方案来满足不同的需求,包括文件、磁盘、Blob 和表存储。 Microsoft 还提供加密以保护 Azure SQL 数据库、Azure Cosmos DB 和 Azure Data Lake。
使用 AES 256 加密进行静态数据加密可用于软件即服务(SaaS)、平台即服务(PaaS)和基础结构即服务(IaaS)云模型。
有关如何在 Azure 中加密静态数据的详细讨论,请参阅 Azure 静态数据加密。
Azure 加密模型
Azure 支持各种加密模型,包括使用服务托管密钥、Key Vault 中客户托管密钥或客户所控硬件上客户托管密钥的服务器端加密。 通过客户端加密,可在本地或另一个安全位置管理并存储密钥。
客户端加密
客户端加密在 Azure 之外执行。 其中包括:
- 由运行在客户数据中心的应用程序或服务应用程序加密的数据
- Azure 接收数据时已加密的数据
使用客户端加密,云服务提供商无法访问加密密钥,并且无法解密此数据。 你完全控制了密钥。
服务器端加密
这三种服务器端加密模型提供不同的密钥管理特征:
- 服务管理的密钥:在低开销的情况下提供了控制性和便利性的结合
- 客户管理的密钥:允许你控制密钥,包括自带密钥(BYOK)支持,或允许生成新密钥
- 客户控制硬件中的服务管理的密钥:使你能够在Microsoft控制之外管理专有存储库中的密钥(也称为“托管你自己的密钥”或 HYOK)
Azure 磁盘加密
重要
虚拟机和虚拟机规模集的 Azure 磁盘加密将于 2028 年 9 月 15 日停用。 新客户应在主机上对所有新 VM 使用 加密 。 现有客户应计划在停用日期之前将当前已启用 ADE 的 VM 迁移到主机加密,以避免服务中断 -- 请参阅 从 Azure 磁盘加密迁移到主机加密。
所有托管磁盘、快照和映像都通过服务管理的密钥使用存储服务加密进行加密。 Azure 还提供了选项来保护临时磁盘、保护缓存和管理 Azure Key Vault 中的密钥。 有关详细信息,请参阅托管磁盘加密选项概述。
Azure 存储服务加密
Azure Blob 存储和 Azure 文件共享中的静态数据都可以在服务器端和客户端方案中进行加密。
Azure 存储服务加密 (SSE) 可在数据存储前自动加密数据,并在检索数据时自动解密数据。 存储服务加密使用 256 位 AES 加密,这是可用的最强块加密之一。
Azure SQL 数据库加密
Azure SQL 数据库 是一种常规用途的关系数据库服务,支持关系数据、JSON、空间和 XML 等结构。 SQL 数据库通过透明数据加密 (TDE) 功能支持服务器端加密,通过 Always Encrypted 功能支持客户端加密。
透明数据加密
TDE 使用数据库加密密钥(DEK)实时加密 SQL Server、 Azure SQL 数据库和 Azure Synapse Analytics 数据文件。 默认情况下,在新建的 Azure SQL 数据库上启用 TDE。
始终加密 (Always Encrypted)
Azure SQL 中的 Always Encrypted 功能允许在将数据存储在 Azure SQL 数据库中之前加密客户端应用程序中的数据。 可以启用将本地数据库管理委派给第三方,并在拥有并可以查看数据和管理数据的人员之间保持分离。
单元级加密或列级加密
借助 Azure SQL 数据库,可使用 Transact-SQL 对数据列应用对称加密。 此方法称为 单元级加密或列级加密(CLE),因为可以使用此方法来加密具有不同加密密钥的特定列或单元格,从而提供比 TDE 更精细的加密功能。
Azure Cosmos DB 数据库加密
Azure Cosmos DB 由 Microsoft 提供,是全球分布式多模型数据库。 默认情况下,使用服务管理的密钥加密存储在 Azure Cosmos DB 中的非易失性存储(固态驱动器)中的用户数据。 可以使用 客户管理的密钥(CMK) 功能使用自己的密钥添加第二层加密。
传输中的数据加密
Azure 提供了许多机制,用于在迁移数据时保持数据的私密性。
数据链接层加密
每当 Azure 客户流量在不受 Microsoft 控制的物理边界外的数据中心之间移动时,采用 IEEE 802.1AE MAC 安全标准(也称为 MACsec)的数据链路层加密方法,以点到点的方式在基础网络硬件上应用。 数据包在发送之前在设备上进行加密,防止物理“中间人”或窃听/窃听攻击。 默认情况下,此 MACsec 加密适用于在某个区域或区域之间行驶的所有 Azure 流量。
TLS 加密
Microsoft使客户能够在云服务和客户之间传输数据时使用传输层安全性(TLS)协议来保护数据。 Microsoft 的数据中心与连接到 Azure 服务的客户端系统协商建立 TLS 连接。 TLS 提供强身份验证、消息隐私和完整性。
重要
Azure 正在转换,要求 TLS 1.2 或更高版本才能连接到 Azure 服务。 大多数 Azure 服务于 2025 年 8 月 31 日完成此转换。 确保应用程序使用 TLS 1.2 或更高版本。
完美转发保密(PFS)通过唯一密钥保护客户客户端系统和 Azure 云服务之间的连接。 连接支持基于 RSA 的 2,048 位密钥长度、ECC 256 位密钥长度、SHA-384 消息身份验证和 AES-256 数据加密。
Azure 存储事务
当通过 Azure 门户与 Azure 存储交互时,所有事务都通过 HTTPS 发生。 也可根据 HTTPS 使用存储 REST API 与 Azure 存储交互。 通过为存储帐户启用安全传输要求,可以在调用 REST API 时强制使用 HTTPS。
共享访问签名(SAS)可用于委托对 Azure 存储对象的访问,包括用于指定只能使用 HTTPS 协议的选项。
SMB 加密
用于访问 Azure 文件共享的 SMB 3.0 支持加密,可在 Windows Server 2012 R2、Windows 8、Windows 8.1 和 Windows 10 中使用。 它允许跨区域访问和桌面访问。
VPN 加密
连接到 Azure 时可以使用虚拟专用网络,它可以创建安全通道以保护通过网络发送的数据的隐私。
Azure VPN 网关
Azure VPN 网关 可以在虚拟网络与本地位置之间通过公共连接或在虚拟网络之间发送加密流量。 站点到站点 VPN 使用 IPsec 进行传输加密。
点到站点 VPN
点到站点 VPN 允许单个客户端计算机访问 Azure 虚拟网络。 安全套接字隧道协议 (SSTP) 用于创建 VPN 隧道。 有关详细信息,请参阅 配置到虚拟网络的点到站点连接。
站点到站点 VPN
站点到站点 VPN 网关连接通过 IPsec/IKE VPN 隧道将本地网络连接到 Azure 虚拟网络。 有关详细信息,请参阅 创建站点到站点连接。
使用 Key Vault 的密钥管理
如果不对密钥进行适当的保护和管理,加密将变得毫无用。 Azure Key Vault 是Microsoft推荐的解决方案,用于管理和控制对云服务使用的加密密钥的访问。
Key Vault 可帮助组织减少对配置、修补以及维护硬件安全模块 (HSM) 和密钥管理软件的需求。 使用 Key Vault,可以保持控制— Microsoft永远不会看到密钥,并且应用程序无权直接访问密钥。 也可以在 HSM 中导入或生成密钥。