始终用Intel SGX飞区加密迁移指南

Azure SQL 数据库

Important

带有 Intel Software Guard Extensions (Intel SGX) enclave 的 Always Encrypted 将于 2027 年 10 月 31 日终止支持。 在此日期之前迁移受影响的数据库。 2027年10月31日之后,Azure 会自动将仍处于 DC 系列计算层的任何数据库迁移到支持的标准系列(非 DC)计算层,并启用基于虚拟化的安全(VBS)隔区。

本文介绍了Always Encrypted with Intel SGX隔区的替代方案及其所需更改。 在选择替代方案前 ,请仔细审查安全考虑 因素。 Intel SGX 和 VBS 隔区提供了针对来自访客操作系统和主机的攻击的不同保护。

开始之前,确认你能查看并修改目标Azure SQL逻辑服务器、数据库和弹性池。 对于PowerShell,安装Az PowerShell模块并登录Azure。 对于 Azure CLI,请先安装 Azure CLI,然后登录 Azure。 盘点连接到受影响数据库的应用程序,以便在迁移过程中更新其驱动程序、连接字符串和证明设置。

识别使用直流系列的数据库

在规划迁移之前,识别所有使用 DC 系列的独立数据库和弹性池。 DC系列弹性池中的每个数据库都会受到影响。

  1. 在 Azure 门户中,访问你的 Azure SQL 逻辑服务器。
  2. 在 概览 页面,查找 可用资源。 该表列出了逻辑服务器上的数据库。
  3. 在 定价层 列中,选择筛选器,然后将列表筛选为 DC-series。
  4. 记录过滤列表中的每个数据库。 这些数据库使用DC系列和Intel SGX隔区。
  5. 对你环境中托管 Azure SQL 数据库的每台逻辑服务器重复这些步骤。

选择迁移路径

选择符合您工作负载安全和应用需求的迁移路径。 以以下比较为起点,并在做出生产变更前仔细审查所选路径的详细指南。

迁移路径 使用此选项时 Attestation
Azure SQL 数据库 with VBS enclaves 你希望继续使用 Azure SQL 数据库,并且 VBS 安全飞地满足你的安全要求。 Azure SQL 数据库中的 VBS enclave 不支持证明。
Azure 机密 VM 上具有 VBS 飞地的 SQL Server 你需要一个由硬件强制实施的隔离边界,以帮助保护来宾操作系统免受主机操作员访问。 主机保护程序服务 (HGS) 证明是可选的。

将单个数据库迁移到 VBS 安全区

使用此方式可保留 Azure SQL 数据库 中已启用 enclave 的功能。

  1. 选择满足您的工作负载性能和可用性要求的受支持的标准系列(非 DC)硬件配置。
  2. 将数据库迁移到所选硬件配置。
  3. 为数据库启用 VBS 安全区域。 启用 VBS 飞地会将数据库属性 VBS 设置为 preferredEnclaveType。
  4. 请查看 VBS飞区的客户端驱动要求(无认证),如有必要,并更新应用驱动。
  5. 更新每个应用连接以使用Noneenclave attestation protocol,并移除Microsoft Azure 证明 URL。 确切的连接字符串关键字取决于客户端驱动程序。
  6. 完成 迁移后验证。

将弹性池迁移到 VBS 飞地

弹性池中的所有数据库都继承了池的安全区域配置。 使用此路径保留 Azure SQL 弹性池数据库中 enclave enabled 的功能。

  1. 选择满足池性能和可用性要求的受支持的标准系列(非 DC)配置。 有关更改池配置的信息,请参见 在 Azure SQL 数据库 中管理弹性池。
  2. 启用弹性池的VBS隔壁。 启用VBS飞区会将池属性设置为preferredEnclaveTypeVBS。
  3. 请查看 VBS飞区的客户端驱动要求(无需证明),并在必要时更新应用驱动。
  4. 更新每个应用连接以使用Noneenclave attestation protocol,并移除Microsoft Azure 证明 URL。 具体的连接字符串关键字取决于客户端驱动。
  5. 完成池中的每个数据库的迁移后验证。

迁移到 Azure 机密 VM 上的 SQL Server

如果你需要一个硬件强制边界,帮助保护访客操作系统免受主机操作员访问,可以考虑这条路径。 Azure 机密虚拟机对 VM 内存进行加密,并提供与 Intel SGX 安全飞地不同的安全属性。 根据您的安全和合规要求进行评估这些差异。

  1. 将 SQL Server 部署到 Azure confidential 虚拟机。
  2. 选择是否使用飞地证明:
  3. 按照您选择的认证选项的指导,在SQL Server实例上配置Always Encrypted并使用VBS隔壁。
  4. 规划数据库、登录、密钥、应用连接和依赖资源的迁移。
  5. 根据数据库大小、网络配置、停机需求和支持的数据库对象选择数据迁移选项。 常见选项包括:
  6. 更新应用程序连接字符串,使其与 SQL Server 实例和所选证明选项相匹配。
  7. 完成 迁移后验证。

验证迁移

在将工作负载迁移到生产环境之前:

  1. 确认应用程序是否能在启用始终加密的情况下连接。
  2. 运行代表性查询,使用加密列,包括如果目标环境使用安全隔壁,则需要隔壁计算的查询。
  3. 验证加密列的插入、更新、删除和索引操作是否符合预期。
  4. 测试应用性能,并在必要时调整目标计算资源配置。
  5. 测试您的业务连续性、灾难恢复和故障切换程序。 如果工作负载使用支持隔区的操作,所有数据库副本都必须支持安全隔壁。
  6. 在完成切换前,监控应用程序是否出现安全区域、证明和查询错误。