你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure OpenAI 服务静态数据加密
在将数据保存到云时,Azure OpenAI 会自动加密数据。 加密可保护数据,并帮助你履行组织的安全性和合规性承诺。 本文介绍 Azure OpenAI 如何处理静态数据加密,特别是训练数据和微调模型。 有关如何处理、使用和存储你提供给服务的数据的信息,请参阅数据、隐私和安全一文。
关于 Azure AI 服务加密
Azure OpenAI 是 Azure AI 服务的一部分。 Azure AI 服务数据将使用符合 FIPS 140-2 的 256 位 AES 加密法进行加密和解密。 加密和解密都是透明的,这意味着将替你管理加密和访问。 你的数据默认情况下就是安全的,你无需修改代码或应用程序,即可利用加密。
关于加密密钥管理
默认情况下,订阅使用 Microsoft 托管的加密密钥。 还有一个选项可用于通过你自己的密钥(称为“客户管理的密钥”(CMK))来管理订阅。 使用 CMK,可更加灵活地创建、轮换、禁用和撤销访问控制。 此外,你还可以审核用于保护数据的加密密钥。
配合使用客户管理的密钥和 Azure 密钥保管库
客户管理的密钥 (CMK)(也称为创建自己的密钥 (BYOK))在创建、轮换、禁用和撤销访问控制方面具有更大的灵活性。 此外,你还可以审核用于保护数据的加密密钥。
必须使用 Azure Key Vault 来存储客户管理的密钥。 可以创建自己的密钥并将其存储在 Key Vault 中,或者使用 Azure Key Vault API 来生成密钥。 Azure AI 服务资源和密钥保管库必须在同一区域和同一 Microsoft Entra 租户中,但可以在不同的订阅中。 有关 Azure Key Vault 的详细信息,请参阅什么是 Azure Key Vault?。
要启用客户管理的密钥,包含密钥的密钥保管库必须满足以下要求:
- 必须同时启用密钥保管库上的“软删除”和“不清除”属性 。
- 如果使用密钥保管库防火墙,则必须允许受信任的 Microsoft 服务访问密钥保管库。
- 密钥保管库必须使用旧版访问策略。
- 必须向 Azure OpenAI 资源的系统分配托管标识授予对密钥保管库的以下权限:获取密钥、包装密钥、解包密钥。
Azure AI 服务加密只支持大小为 2048 的 RSA 和 RSA-HSM 密钥。 有关密钥的详细信息,请参阅关于 Azure Key Vault 密钥、机密和证书中的“Key Vault 密钥”。
启用 Azure OpenAI 资源的托管标识
- 转到 Azure AI 服务资源。
- 在左侧的“资源管理”下,选择“标识”。
- 将系统分配的托管标识状态切换到“开”。
- 保存更改,并确认希望启用系统分配的托管标识。
配置密钥保管库的访问权限
在 Azure 门户中转到你的密钥保管库。
在左侧选择“访问策略”。
如果看到指出访问策略不可用的消息,请在继续操作之前重新配置密钥保管库以使用旧版访问策略。
选择创建。
在“密钥权限”下,选择“获取”、“包装密钥”和“解包密钥”。 将剩余的复选框保留为未选中状态。
选择下一步。
搜索 Azure OpenAI 资源的名称并选择其托管标识。
选择下一步。
选择“下一步”以跳过配置任何应用程序设置。
选择创建。
在 Azure OpenAI 资源上启用客户管理的密钥
若要在 Azure 门户中启用客户管理的密钥,请执行以下步骤:
转到 Azure AI 服务资源。
在左侧的“资源管理”下,选择“加密”。
在“加密类型”下选择“客户管理的密钥”,如以下屏幕截图所示。
指定密钥
启用客户管理的密钥后,可以指定要与 Azure AI 服务资源关联的密钥。
将密钥指定为 URI
若要将某个密钥指定为 URI,请执行下列步骤:
在 Azure 门户中转到你的密钥保管库。
选择“对象”下的“密钥”。
选择所需的密钥,然后选择该密钥以查看其版本。 选择一个密钥版本,查看该版本的设置。
复制“密钥标识符”值,其中提供了 URI。
返回你的 Azure AI 服务资源,然后选择“加密”。
在“加密密钥”下,选择“输入密钥 URI”。
将复制的 URI 粘贴到“密钥 URI”框中。
在“订阅”下,选择包含密钥保管库的订阅。
保存所做更改。
从密钥保管库中选择密钥
要选择密钥保管库中的密钥,请先确保你具有包含密钥的密钥保管库。 然后,执行以下步骤:
转到你的 Azure AI 服务资源,然后选择“加密”。
在“加密密钥”下,选择“从 Key Vault 中选择”。
选择包含要使用的密钥的密钥保管库。
选择要使用的密钥。
保存所做更改。
更新密钥版本
创建密钥的新版本时,请更新 Azure AI 服务资源以使用新版本。 执行以下步骤:
- 转到你的 Azure AI 服务资源,然后选择“加密”。
- 输入新密钥版本的 URI。 或者,可以选择密钥保管库,然后再次选择密钥以更新版本。
- 保存所做更改。
使用其他密钥
若要更改用于加密的密钥,请执行以下步骤:
- 转到你的 Azure AI 服务资源,然后选择“加密”。
- 输入新密钥的 URI。 或者,可以选择密钥保管库,然后选择一个新密钥。
- 保存所做更改。
轮换客户管理的密钥
可以根据合规性策略轮换 Key Vault 中客户管理的密钥。 轮换密钥后,必须更新 Azure AI 服务资源才能使用新的密钥 URI。 若要了解如何更新资源以在 Azure 门户中使用新版本的密钥,请参阅更新密钥版本。
轮换密钥不会触发资源中数据的重新加密。 用户无需进一步执行操作。
撤销客户管理的密钥
可以撤销客户管理的加密密钥,方法是更改访问策略,或更改针对密钥保管库的权限,或者删除该密钥。
若要更改注册表使用的托管标识的访问策略,请运行 az-keyvault-delete-policy 命令:
az keyvault delete-policy \
--resource-group <resource-group-name> \
--name <key-vault-name> \
--key_id <key-vault-key-id>
若要删除密钥的单个版本,请运行 az-keyvault-key-delete 命令。 此操作需要 keys/delete 权限。
az keyvault key delete \
--vault-name <key-vault-name> \
--id <key-ID>
重要
在 CMK 仍处于启用状态时撤销对活动的客户管理的密钥的访问权限,会阻止下载训练数据和结果文件、微调新模型以及部署微调后的模型。 但是,以前部署的微调模型将继续运行并提供流量,直到删除这些部署。
删除训练、验证和训练结果数据
文件 API 允许客户上传其训练数据,以便微调模型。 此数据存储在与资源位于同一区域的 Azure 存储中,并在逻辑上与其 Azure 订阅和 API 凭据隔离。 用户可以通过 DELETE API 操作删除上传的文件。
删除微调的模型和部署
使用微调 API,客户可以基于你通过文件 API 上传到服务的训练数据创建其自己的微调版 OpenAI 模型。 已训练的微调模型存储在同一区域的 Azure 存储中,经过静态加密(通过 Microsoft 管理的密钥或客户管理的密钥),并在逻辑上与其 Azure 订阅和 API 凭据相隔离。 用户可以通过调用 DELETE API 操作来删除经过微调的模型和部署。
禁用客户托管密钥
当你禁用客户管理的密钥后,系统会使用 Microsoft 管理的密钥加密 Azure AI 服务资源。 若要禁用客户托管密钥,请执行以下步骤:
- 转到你的 Azure AI 服务资源,然后选择“加密”。
- 选择“Microsoft 托管密钥”>“保存”。
以前启用客户管理的密钥时,还会启用系统分配的托管标识(Microsoft Entra ID 的一项功能)。 启用系统分配的托管标识后,此资源将注册到 Microsoft Entra ID。 注册后,将向托管标识授予在设置客户管理的密钥期间选择的 Key Vault 的访问权限。 你可以详细了解托管标识。
重要
如果禁用系统分配的托管标识,则会删除对密钥保管库的访问权限,而使用客户密钥加密的任何数据都将不再可供访问。 任何依赖于此数据的功能都会失效。
重要
托管标识当前不支持跨目录方案。 在 Azure 门户中配置客户管理的密钥时,系统会在幕后自动分配一个托管标识。 如果随后将订阅、资源组或资源从一个 Microsoft Entra 目录移动到另一个目录,与资源关联的托管标识不会转移到新租户,因此客户管理的密钥可能不再有效。 有关详细信息,请参阅 Azure 资源的常见问题解答和已知问题中的“在 Microsoft Entra 目录之间转移订阅”。