Azure Synapse Analytics 安全白皮书:数据保护
注意
本文是“Azure Synapse Analytics 安全白皮书”系列文章的一部分。 有关该系列的概述,请参阅 Azure Synapse Analytics 安全白皮书。
数据发现和分类
组织需要保护其数据以符合联邦、本地和公司准则,从而降低数据泄露的风险。 组织面临的一项挑战是:如果不知道数据位于何处,如何保护数据?另一项挑战是:需要什么级别的保护?因为某些数据集比其他数据集需要更多保护。
假设组织在其数据湖中存储了成百上千个文件,在数据库中存储了成百上千个表。 它将受益于以下过程:自动扫描文件系统或表的每一行和每一列,并将列分类为潜在敏感数据。 此过程称为数据发现。
数据发现过程完成后,它将基于一组预定义的模式、关键字和规则提供分类建议。 然后,用户可以查看建议并将敏感度分类标签应用于相应的列。 此过程称为分类。
Azure Synapse 提供的数据发现和分类内置于 Azure Synapse 和专用 SQL 池(以前称为 SQL DW)中。
数据加密
对静态数据和传输中的数据进行加密。
静态数据
默认情况下,Azure 存储使用 256 位高级加密标准加密 (AES 256) 自动加密所有数据。 这是可用的最强分组加密技术之一,并且符合 FIPS 140-2 规范。 该平台管理加密密钥,构成了第一层数据加密。 这种加密既适用于用户数据库,也适用于系统数据库,包括 master 数据库。
启用透明数据加密 (TDE) 可为专用 SQL 池添加第二层数据加密。 它可对数据库文件、事务日志文件和静态备份执行实时 I/O 加密和解密,无需更改应用程序。 默认情况下,它使用 AES 256。
默认情况下,TDE 使用内置的服务器证书(由服务管理)保护数据库加密密钥 (DEK)。 你也可以选择创建自己的密钥 (BYOK),将其安全地存储在 Azure Key Vault 中。
Azure Synapse SQL 无服务器池和 Apache Spark 池是直接在 Azure Data Lake Gen2 (ALDS Gen2) 或 Azure Blob 存储上工作的分析引擎。 这些分析运行时没有任何永久存储,依赖 Azure 存储加密技术来保护数据。 默认情况下,Azure 存储使用服务器端加密 (SSE) 加密所有数据。 它会针对所有存储类型(包括 ADLS Gen2)启用,并且不能禁用。 SSE 使用 AES 256 以透明方式加密和解密数据。
有两个 SSE 加密选项:
- Microsoft 管理的密钥:Microsoft 管理加密密钥的各个方面,包括密钥存储、所有权和轮换。 它对客户是完全透明的。
- 客户管理的密钥:在本例中,用于加密 Azure 存储中数据的对称密钥是使用客户提供的密钥进行加密的。 它支持大小为 2048、3072 和 4096 的 RSA 密钥。 密钥可以安全地存储在 Azure Key Vault 中。 它提供对密钥及其管理(包括存储、备份和轮换)的精细访问控制。 有关详细信息,请参阅用于 Azure 存储加密的客户管理的密钥。
虽然 SSE 构成了第一层加密,但谨慎的客户可以在 Azure 存储基础结构层上启用第二层 256 位 AES 加密来实现双重加密。 这称为基础结构加密,它使用平台管理的密钥以及来自 SSE 的单独密钥。 因此,将使用两种不同的加密算法和两个不同的密钥对存储账户中的数据进行两次加密(一次在服务级别进行,一次在基础架构级别进行)。
传输中的数据
Azure Synapse、专用 SQL 池(以前称为 SQL DW)和无服务器 SQL 池使用表格格式数据流 (TDS) 协议在 SQL 池终结点和客户端计算机之间通信。 TDS 依赖传输层安全性 (TLS) 进行通道加密,确保所有数据包在终结点和客户端计算机之间都得到保护和加密。 它使用证书颁发机构 (CA) 签署的服务器证书进行 TLS 加密,该证书由 Microsoft 管理。 Azure Synapse 支持使用 AES 256 加密通过 TLS v1.2 对传输中的数据进行加密。
Azure Synapse 利用 TLS 确保动态加密数据。 SQL 专用池支持使用 TLS 1.0、TLS 1.1 和 TLS 1.2 版本进行加密,其中 Microsoft 提供的驱动程序默认使用 TLS 1.2。 无服务器 SQL 池和 Apache Spark 池对所有出站连接使用 TLS 1.2。
后续步骤
在本白皮书系列的下一篇文章中,了解访问控制。