使用透明数据加密的跨租户客户管理的密钥

适用于:Azure SQL 数据库 Azure Synapse Analytics(仅限专用 SQL 池)

Azure SQL 现在针对使用透明数据加密 (TDE) 的跨租户客户管理的密钥 (CMK) 提供支持。 跨租户 CMK 扩展了创建自己的密钥 (BYOK) 方案来利用 TDE,而不需要让 Azure 中的逻辑服务器与 Azure Key Vault(存储用于保护服务器的客户管理密钥)位于同一 Microsoft Entra 租户中。

对于存储在不同 Microsoft Entra 租户中配置的密钥保管库中的密钥,可以使用 CMK 为 Azure SQL 数据库配置 TDE。 Microsoft Entra ID(以前称为 Azure Active Directory)引入了一项称为工作负载联合身份验证的功能,它允许来自一个 Microsoft Entra 租户的 Azure 资源访问另一个 Microsoft Entra 租户中的资源。

有关 Synapse 工作区内专用 SQL 池的透明数据加密的文档,请参阅 Azure Synapse Analytics 加密

注意

Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

常见使用场景

使用跨租户 CMK 功能,服务提供商或独立软件供应商 (ISV) 可以基于 Azure SQL 构建服务,以便将具有 CMK 功能的 Azure SQL 的 TDE 扩展到其各自的客户。 启用跨租户 CMK 支持后,ISV 客户可以在自己的订阅和 Microsoft Entra 租户中拥有密钥保管库和加密密钥。 客户在访问 ISV 租户中的 Azure SQL 资源时,可以完全控制密钥管理操作。

跨租户交互

Azure SQL 与另一个 Microsoft Entra 租户中的密钥保管库之间的跨租户交互是通过 Microsoft Entra 功能(工作负载联合身份验证)启用的。

部署 Azure SQL 服务的 ISV 可以在 Microsoft Entra ID 中创建多租户应用程序,然后使用用户分配的托管标识为此应用程序配置联合身份验证凭据。 使用适当的应用程序名称和应用程序 ID,客户端或 ISV 客户可以在各自的租户中安装 ISV 创建的应用程序。 然后,客户会将与应用程序权限(Azure SQL 所需)关联的服务主体授予其在租户中的密钥保管库,并将其密钥位置与 ISV 分享。 ISV 将托管标识和联合客户端标识分配给 Azure SQL 资源后,ISV 租户中的 Azure SQL 资源可以访问客户的密钥保管库。

有关详细信息,请参阅:

设置跨租户 CMK

下图显示了一个方案的多个步骤,该方案利用了 Azure SQL 逻辑服务器,它使用 TDE 通过具有用户分配的托管标识的跨租户 CMK 加密静态数据。

使用客户管理的密钥设置跨租户透明数据加密的示意图。

设置概述

在 ISV 租户上

  1. 创建用户分配的托管标识

  2. 创建多租户应用程序

    1. 将用户分配的托管标识配置为应用程序上的联合凭据

在客户端租户上

  1. 安装多租户应用程序

  2. 创建或使用现有的密钥保管库,并将密钥权限授予多租户应用程序

    1. 创建新密钥,或使用现有的密钥

    2. 从密钥保管库检索密钥并记录密钥标识符

在 ISV 租户上

  1. Azure 门户的 Azure SQL 资源“标识”菜单中,将所创建的用户分配的托管标识分配为“主标识”

  2. 在同一“标识”菜单中分配“联合客户端标识”,并使用应用程序名称

  3. 在 Azure SQL 资源的“透明数据加密”菜单中,使用从客户端租户获取的客户的密钥标识符分配密钥标识符。

备注

后续步骤

另请参阅