OpenAI

EKM KMS 密钥生命周期

从设置检查到撤销后清理的端到端 KMS 密钥生命周期指南

更新于:13 days ago

先决条件

本文档假定你已经按照以下指南之一向 OpenAI 注册了外部 KMS 密钥:

关键术语

密钥轮换和密钥撤销用途不同。请根据你的使用场景选择正确的操作。

  • 密钥轮换:为加密新数据生成新的加密材料,同时允许解密使用旧密钥加密的旧数据

    • 密钥轮换不会影响对 OpenAI 数据的访问

  • 密钥撤销:撤销对使用旧密钥加密的所有数据的访问权限。

    • 密钥撤销会撤销对 OpenAI 数据的访问

如何验证你的 KMS 密钥正在被使用

你的云服务商应提供日志:

如何轮换密钥

你可以设置自动密钥轮换

测试:此项更改不会影响你对 OpenAI 数据的访问

如何撤销你的密钥

有多种方法可以撤销 OpenAI 对你密钥的访问权限,即通过以下任一方式中断身份验证流程:

  • 如果你撤销 OpenAI 角色对 KMS 密钥的访问权限

  • 如果你移除 KMS 密钥上的加密/解密权限

  • 如果你使用的是 AWS 密钥别名(不推荐)并切换底层 KMS ARN。此操作有时会被误认为是密钥轮换,但实际上是密钥撤销,因此除非你确定需要,否则不建议这样做。

  • 如果你请求 OpenAI 更新用于你 ChatGPT Enterprise 工作空间的 KMS ARN

如需验证密钥撤销:

  • 等待 1 小时,让 OpenAI 端的所有缓存条目过期,然后测试撤销

    • 如果你使用的是 ChatGPT Enterprise:你将无法读取之前的对话记录,对话搜索不会显示之前对话的结果,也无法访问之前的自定义 GPT。

    • 如果你使用的是 API,你将无法下载之前的批处理文件、使用之前微调的模型,也无法引用之前使用 Responses API 生成的响应。

  • 如果你使用的是 API,你还可以立即测试密钥撤销是否已被 OpenAI 处理,并将在 1 小时内生效

    • 创建一个管理员 API 密钥(非普通 API 密钥)

    • 调用以下命令获取与你的工作空间或项目关联的 OpenAI 外部密钥 ID(extkey_xxx): curl -X GET -H "Authorization: Bearer $ADMIN_API_KEY" https://api.openai.com/v1/organization/external_keys

    • 现在调用以下命令:curl -X POST -H "Authorization: Bearer $ADMIN_API_KEY" "https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"

密钥撤销的最佳实践

如果你使用的是 API

  • 请归档那些你已使其数据不可访问的 API 项目。然后,设置一个新的 KMS 密钥,并创建一个关联新 KMS 密钥的新 API 项目。

  • 注意:你不能更换已执行密钥撤销的旧 API 项目所关联的 KMS 密钥。你必须归档旧项目。已执行密钥撤销的项目不应继续使用。通过 API 可以非常轻松地创建新项目,因此请使用该功能。

如果你使用的是 ChatGPT Enterprise

  • 在执行密钥撤销后,请联系 OpenAI 支持团队。

  • 我们将与你合作创建一个新的工作空间。我们不会通过将旧工作空间更新为使用新的 KMS 密钥来复用该工作空间。这是因为,当密钥撤销按设计生效时,使用已撤销密钥加密的旧数据将无法访问。

这篇文章对你有帮助吗?