你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

规划 Azure SQL 数据库中的安全 enclave

适用于:Azure SQL 数据库

在 Azure SQL 数据库中,具有安全 enclave 的 Always Encrypted 可以使用 Intel Software Guard Extensions (Intel SGX) enclave 或基于虚拟化的安全 (VBS) enclave。

Intel SGX enclave

Intel SGX 是基于硬件的受信任执行环境技术。 其适用于使用 vCore 购买模型DC 系列硬件配置的数据库。 要让 Intel SGX Enclave 可用于数据库或弹性池,需要在创建数据库或弹性池时选择 DC 系列硬件配置,也可以更新现有数据库或弹性池以使用 DC 系列硬件。

注意

Intel SGX 不适用于 DC 系列以外的硬件。 例如,Intel SGX 不适用于标准系列(第 5 代)硬件配置,也不适用于使用 DTU 模型的数据库。

与 VBS enclave 相比,Intel SGX enclave 与 Microsoft Azure 证明提供的证明相结合,可以有效防范来自具有 OS 级别管理员访问权限的参与者的攻击。 但是,在为数据库配置 DC 系列硬件之前,请确保你已了解其性能属性和限制:

  • 与 vCore 购买模型的其他硬件配置不同,DC 系列使用的是物理处理器核心,而不是逻辑核心。 DC 系列数据库的资源限制不同于标准系列(第 5 代)硬件配置的资源限制。
  • 可以为 DC 系列数据库设置的最大处理器核心数为 40。
  • DC 系列不适用于无服务器

此外,请检查 DC 系列的当前区域可用性,并确保它在首选区域中可用。 有关详细信息,请参阅 DC 系列

建议将 SGX enclave 用于需要最强数据机密性保护并符合 DC 系列当前限制的工作负载。

VBS enclave

VBS enclave(也称为虚拟安全模式,或 VSM enclave)是一种基于软件的技术,依赖于 Windows 虚拟机监控程序,不需要任何特殊硬件。 因此,VBS enclave 在所有 Azure SQL Database 产品/服务(包括 Azure SQL Elastic Pools)中都可用,使你能够灵活地使用具有安全 enclave 的 Always Encrypted,这些 enclave 涵盖计算大小、服务层级、购买模型、硬件配置和最符合工作负载要求的区域。

注意

VBS enclave 在除 Jio 印度中部之外的所有 Azure SQL 数据库区域中都可用。

对于寻求保护客户组织中的高特权用户(包括数据库管理员 (DBA))所使用数据的客户,推荐使用 VBS enclave 解决方案。 如果没有加密密钥来保护数据,DBA 将无法访问纯文本数据。

VBS enclave 还有助于防范某些 OS 级别威胁,例如从托管数据库的虚拟机中的内存转储中外泄敏感数据。 在 enclave 中处理的纯文本数据不会显示在内存转储中,前提是 enclave 中的代码及其属性尚未被恶意修改。 但是,由于当前缺少 enclave 证明,Azure SQL 数据库中的 VBS enclave 无法应对将 enclave 二进制文件替换为恶意代码等更复杂的攻击。 此外,无论证明如何,VBS enclave 都不使用源自主机的特权系统帐户来提供任何攻击保护。 请务必注意,Microsoft 已实施多层安全控制,用于检测和防范 Azure 云中的此类攻击,包括实时访问、多重身份验证和安全监视。 然而,与 VBS enclave 相比,需要强安全隔离的客户可能更喜欢采用 DC 系列硬件配置的 Intel SGX enclave。

规划 Azure SQL 数据库中的 enclave 证明

在 DC 系列数据库中使用 Intel SGX enclave 时,需要使用 Microsoft Azure 证明配置证明。

重要

VBS enclave 目前不支持证明。 本部分的其余部分仅适用于 DC 系列数据库中的 Intel SGX enclave。

若要在 Azure SQL 数据库中使用 Microsoft Azure 证明来证明 Intel SGX enclave,需要创建证明提供程序,并使用 Microsoft 提供的证明策略进行配置。 请参阅使用 Azure 证明为 Always Encrypted 配置证明

配置 Intel SGX enclave 和证明时的角色和职责

在 Azure SQL 数据库中配置你的环境以支持 Intel SGX enclave 和 Always Encrypted 证明涉及到设置不同组件:证明提供程序、数据库和触发 enclave 证明的应用程序。 具有以下角色之一的用户配置每种类型的组件:

  • 证明管理员-在 Microsoft Azure 证明中创建证明提供程序,编写证明策略,授予 Azure SQL 逻辑服务器对证明提供程序的访问权限,并将指向策略的证明 URL 共享给应用程序管理员。
  • 数据库管理员 (DBA) - 在数据库中通过选择 DC 系列硬件来启用 SGX enclave,并向证明管理员提供访问证明提供程序所需的 Azure SQL 逻辑服务器的标识。
  • 应用程序管理员-使用从证明管理员处获得的证明 URL 配置应用程序。

在生产环境中(处理真实的敏感数据),组织在配置证明时务必遵守角色分离,在这种情况下,不同人员具有不同角色。 特别是,如果在组织中部署 Always Encrypted 的目的是确保数据库管理员无法访问敏感数据,从而减少攻击外围应用,则数据库管理员不应控制证明策略。

后续步骤

另请参阅