SQL Server 大数据群集静态透明数据加密 (TDE) 使用指南

适用范围:SQL Server 2019 (15.x)

重要

Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章Microsoft SQL Server 平台上的大数据选项

本指南演示了如何使用 SQL Server 大数据群集 的静态加密功能来加密数据库。

在配置 SQL Server 透明数据加密时的 DBA 配置体验与 Linux 上的 SQL Server 相同,且适用标准 TDE 文档,除非另有说明。 若要监视主实例上的加密状态,需要遵循基于 sys.dm_database_encryption_keyssys.certificates 的标准 DMV 查询模式。

不受支持的功能:

  • 数据池加密

先决条件

查询已安装的证书

  1. 在 Azure Data Studio 中,连接到大数据群集的 SQL Server 主实例。 有关详细信息,请参阅连接到 SQL Server 主实例

  2. 双击“服务器”窗口中的连接,以显示 SQL Server 主实例的服务器仪表板 。 选择“新建查询” 。

    SQL Server 主实例查询

  3. 运行以下 Transact-SQL 命令,将上下文更改为主实例中的 master 数据库。

    USE master;
    GO
    
  4. 查询已安装的系统管理的证书。

     SELECT TOP 1 name FROM sys.certificates WHERE name LIKE 'TDECertificate%' ORDER BY name DESC;
    

    根据需要,使用不同的查询条件。

    证书名称将列为“TDECertificate{timestamp}”。 当你看到前缀 TDECertificate 且后面是时间戳时,表示这是由系统管理的功能提供的证书。

使用系统管理的证书对数据库进行加密

在以下示例中,根据上一部分的输出,将名为 userdb 的数据库视为加密目标,并将系统管理的证书命名为 TDECertificate2020_09_15_22_46_27。

  1. 使用以下模式通过所提供的系统证书来生成数据库加密密钥。

     USE userdb; 
     GO
     CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE TDECertificate2020_09_15_22_46_27;
     GO
    
  2. 运行以下命令来加密数据库 userdb。

     ALTER DATABASE userdb SET ENCRYPTION ON;
     GO
    

在使用外部提供程序的情况下管理数据库加密

如需深入了解密钥版本在 SQL Server 大数据群集 静态加密中的使用方式,请参阅 SQL Server 大数据群集 中的密钥版本。 “SQL Server 的主密钥轮换”部分包含一个端到端示例,其中演示了在使用外部密钥提供程序时如何管理数据库加密。

后续步骤

了解 HDFS 的静态加密: