Azure 中的数据加密





5.00/5 (3投票s)
使用 Azure 加密对静态、传输中和使用中的数据加密概述
Azure 加密
加密是构建安全的基础,并且在数据静态、使用中和传输中都需要存在。
Microsoft Azure 涵盖了主要的加密领域,包括:
- 静态数据加密
- 传输中数据加密
- 通过 Azure Key Vault 进行密钥管理以使用中的数据加密
静态数据加密
Microsoft Azure 提供一系列数据存储解决方案,具体取决于您组织的需求,包括文件、磁盘、Blob 和表存储。静态数据是指存储在任何数字格式的物理介质上的任何已存储数据,可以包括数据备份、存档数据以及光盘或磁介质上的文件。静态数据加密也适用于软件即服务 (SaaS)、平台即服务 (PaaS) 和基础设施即服务 (IaaS) 方面的服务。
数据加密模型类型
有多种加密模型可供选择,包括:
- 使用服务管理密钥的服务器端加密
- Key Vault 中的客户管理密钥
- 客户控制的硬件上的客户管理密钥
客户端加密
此操作在 Azure 外部执行。云服务提供商无权访问加密密钥,也无法解密您的数据。您的组织将掌控您的解密密钥。
服务器端加密
有三种不同的服务器端加密模型,它们提供不同的密钥管理服务。首先,服务管理密钥是一种开销较低的选项。客户管理密钥可让您的组织控制自己的密钥,允许您生成新密钥并支持自带密钥 (BYOK)。最后,还有客户控制硬件中的服务管理密钥。使用此选项,您可以在 Microsoft 控制范围之外的存储库中管理您的密钥,这是一种托管您自己的密钥 (HYOK) 功能。但是,许多 Azure 服务不支持此模型。
Azure 磁盘加密
Azure 磁盘加密可用于保护 Windows 和 Linux 虚拟机上的操作系统和数据磁盘。加密密钥保存在您的 Azure Key Vault 中。此外,如果您使用 Azure 备份服务,则可以备份和还原使用密钥加密密钥 (KEK) 配置的已加密虚拟机。
Azure 存储服务加密
存储在 Blob 存储和文件共享中的数据可以使用服务器端和客户端场景进行静态加密。
使用 Azure 存储服务加密 (SSE),数据在存储之前可以自动加密,并在您检索数据时自动解密。SSE 使用 256 位高级加密标准 (AES) 加密。
Blob 的客户端加密
实现此目的的一种方法是使用用于 .NET 的 Azure 存储客户端库 NuGet 包,在将数据上传到 Azure 存储之前对其进行加密。如果您将客户端加密与 Key Vault 结合使用,则您的数据将使用一次性对称内容加密密钥 (CEK) 进行加密。此密钥由 Azure 存储客户端生成。CEK 使用密钥加密密钥 (KEK) 进行加密。它可以本地管理,也可以存储在 Key Vault 中。
使用 Azure SQL 数据库对静态数据进行加密
这是一个通用关系数据库,支持关系数据、JSON、空间数据和 XML。SQL 数据库通过透明数据加密 (TDE) 功能支持服务器端加密,通过 Always Encrypted 功能支持客户端加密。
透明数据加密 (TDE)
此功能用于加密 SQL Server、Azure SQL 数据库和 Azure SQL 数据仓库的数据文件。它使用存储在数据库引导记录中的数据库加密密钥 (DEK)。加密在页面级别进行,页面在写入文件之前被加密,并在读入内存时被解密。TDE 在新创建的 Azure SQL 数据库上默认启用。
始终加密
此功能使您能够在将数据存储在 Azure SQL 数据库之前,在客户端应用程序中对其进行加密。您还可以将拥有和能够查看数据的人员与管理数据但不应访问数据本身的人员分开。
Data Lake 中的静态加密
Azure Data Lake 是在组织数据之前收集所有类型数据的场所。Data Lake 支持静态数据加密,您可以在创建帐户时进行设置。Azure Data Lake Store 管理密钥,这是默认设置,但您也可以自行管理。
传输中数据加密
有多种方法可以在数据从一个地方移动到另一个地方时对其进行加密。首先,当数据在云服务和客户之间传输时,它会受到传输层安全 (TLS) 的保护。完美前向保密 (PFS) 通过使用唯一密钥保护客户客户端系统和 Microsoft 云服务之间的连接,从而使在传输过程中访问数据变得困难。
Azure 存储事务
通过 Azure 门户与 Azure 存储的所有交互都通过 HTTPS 进行。另一种选择是使用 HTTPS 上的存储 REST API。通过启用存储帐户所需的安全传输,您可以确保在 REST API 访问存储帐户中的对象时使用 HTTPS。共享访问签名 (SAS) 包含一个选项,用于指定在使用 SAS 时只能使用 HTTPS 协议。客户端加密在将数据发送到您的 Azure 存储实例之前对其进行加密,从而在数据在网络上传输时对其进行加密。
Azure 虚拟网络上的 SMB 加密
运行 Windows Server 2012 或更高版本的虚拟机可以使用 SMB 3.0 对 Azure 虚拟网络上的传输中数据进行加密。SMB 可以针对整个服务器启用,也可以只针对其中的特定部分启用。
虚拟机中的传输中加密
正在运行 Windows 的 VN 之间、到 VN 或从 VN 传输的数据可以通过多种方式进行加密。可以使用哪种方式取决于连接的性质。远程桌面协议会话,您可以使用远程桌面协议 (RDP) 连接并登录到虚拟机。RDP 会话中的传输中数据可以使用 TLS 进行保护。
使用 SSH 安全访问 Linux VM
安全 Shell (SSH) 是一种加密连接协议,允许通过不安全的连接安全登录。您可以使用 SSH 连接到 Azure 中托管的 Linux VM。
Azure VPN 加密
您可以连接到 Azure,方法是使用创建安全隧道以保护通过网络发送的数据隐私的虚拟专用网络。
Azure VPN 网关
您可以使用 Azure VPN 网关,通过公共连接在虚拟网络和本地位置之间发送加密流量,或在虚拟网络之间发送流量。
点到站点 VPN
个人计算机可以使用点到站点 VPN 访问 Azure 虚拟网络。安全套接字隧道协议 (SSTP) 用于创建 VPN 隧道,该隧道显示为 HTTPS 连接。
站点到站点 VPN
您的本地站点可以通过 IPsec/IKE (IKEv1 或 IKEv2) VPN 隧道上的站点到站点 VPN 网关连接连接到 Azure 虚拟网络。但是,这种类型的连接需要一个分配有公共 IP 地址的本地 VPN 设备。
使用 Key Vault 进行密钥管理
如果密钥没有得到妥善存储和管理,加密就会变得毫无意义。Key Vault 是管理和安全存储密钥的方式。可以使用 Azure Active Directory 帐户分配对 Key Vault 的访问权限。
历史
- 2018 年 11 月 9 日:版本 1