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

使用客户管理的密钥进行加密

Azure AI 是在多个 Azure 服务的基础上构建的。 虽然会使用 Microsoft 提供的加密密钥来安全存储数据,但可以通过提供自己的(客户管理的)密钥来增强安全性。 将使用 Azure 密钥保管库来安全存储你提供的密钥。

先决条件

  • Azure 订阅。

  • 一个 Azure 密钥保管库实例。 密钥保管库包含用于加密服务的密钥。

    • 密钥保管库实例必须启用软删除和清除保护。

    • 受客户管理的密钥保护的服务的托管标识必须在密钥保管库中拥有以下权限:

      • 包装密钥
      • 解包密钥
      • get

      例如,Azure Cosmos DB 的托管标识需要对密钥保管库拥有这些权限。

元数据的存储方式

Azure AI 使用以下服务来存储 Azure AI 资源和项目的元数据:

服务 用途 示例
Azure Cosmos DB 存储 Azure AI 项目和工具的元数据 流创建时间戳、部署标记、评估指标
Azure AI 搜索 存储用于帮助查询 AI Studio 内容的索引。 基于模型部署名称的索引
Azure 存储帐户 存储由 Azure AI 项目和工具创建的项目 微调的模型

上述所有服务在首次创建 Azure AI 资源时使用相同的密钥进行加密,并在订阅中的托管资源组中为每个 Azure AI 资源和与之关联的项目集设置服务一次。 Azure AI 资源和项目使用托管标识来读取和写入数据。 使用数据资源的角色分配(Azure 基于角色的访问控制)为托管标识授予对资源的访问权限。 你提供的加密密钥用于加密 Microsoft 管理的资源上存储的数据。 它还用于在运行时创建 Azure AI 认知搜索的索引。

客户管理的密钥

如果你不使用客户管理的密钥,Microsoft 将在 Microsoft 拥有的 Azure 订阅中创建和管理这些资源,并使用 Microsoft 管理的密钥来加密数据。

如果你使用客户管理的密钥,这些资源将位于你的 Azure 订阅中,并使用你的密钥进行加密。 虽然这些资源在你的订阅中,但它们由 Microsoft 管理。 创建 Azure AI 资源时,会自动创建并配置这些资源。

重要

使用客户管理的密钥时,订阅成本更高,因为这些资源在你的订阅中。 若要估算成本,请使用 Azure 定价计算器

Microsoft 管理的这些资源位于你的订阅中创建的新 Azure 资源组中。 此组是对项目资源组的补充。 此资源组包含与你的密钥配合使用的 Microsoft 托管资源。 该资源组的命名格式为 <Azure AI resource group name><GUID>。 无法更改此受管理资源组中资源的命名。

提示

  • Azure Cosmos DB 的请求单位会按需自动缩放
  • 如果你的 AI 资源使用专用终结点,则此资源组还将包含 Microsoft 托管 Azure 虚拟网络。 此 VNet 用于保护托管服务与项目之间的通信。 你无法提供自己的 VNet 用于 Microsoft 管理的资源。 也不能修改虚拟网络。 例如,你不能更改它使用的 IP 地址范围。

重要

如果你的订阅不能为这些服务提供足够的配额,则会发生失败。

警告

请不要删除包含此 Azure Cosmos DB 实例的受管理资源组,也不要删除此组中自动创建的任何资源。 如果需要删除该资源组或其中的 Microsoft 托管服务,必须删除使用该资源组的 Azure AI 资源。 删除关联的 AI 资源后,将删除资源组资源。

使用 Azure Key Vault 为 Azure AI 服务启用客户管理的密钥的过程因产品而异。 使用以下链接获得特定服务的说明:

计算数据的存储方式

在微调模型或生成流时,Azure AI 会将计算资源用于计算实例和无服务器计算。 下表描述了计算选项以及每个选项如何加密数据:

计算 加密
计算实例 本地暂存磁盘已加密。
无服务器计算 在 Azure 存储中使用 Microsoft 管理的密钥加密 OS 磁盘。 临时磁盘已加密。

计算实例:存储计算实例的 OS 磁盘使用 Microsoft 托管存储帐户中的 Microsoft 托管密钥进行加密。 如果创建项目时将 hbi_workspace 参数设置为 TRUE,则将使用 Microsoft 托管密钥对计算实例上的本地临时磁盘加密。 OS 和临时磁盘不支持客户管理的密钥加密。

无服务器计算 存储在 Azure 存储中的每个计算节点的 OS 磁盘都使用 Microsoft 托管密钥进行加密。 此计算目标是临时的,不存在排队的作业时,通常便会纵向缩减群集。 底层虚拟机将解除预配,OS 磁盘将被删除。 OS 磁盘不支持 Azure 磁盘加密。

每个虚拟机还包含一个本地临时磁盘用于 OS 操作。 如果需要,可以使用该磁盘来暂存训练数据。 此环境短暂存在(仅在作业期间),加密支持仅限于系统管理的密钥。

限制

  • 在 Azure AI 资源上配置时,加密密钥不会从 Azure AI 资源传递给依赖资源,包括 Azure AI 服务和 Azure 存储。 必须专门在每个资源上设置加密。
  • 用于加密的客户管理的密钥只能更新为同一 Azure Key Vault 实例中的密钥。
  • 部署后,无法从 Microsoft 托管密钥切换到客户管理的密钥,反之亦然。
  • 在订阅的 Microsoft 托管 Azure 资源组中创建的资源不能由你修改,也不能在创建时作为现有资源提供。
  • 在不同时删除项目的情况下,无法删除 Microsoft 托管、用于客户管理密钥的资源。

后续步骤