OpenAI
此頁面由機器翻譯。查看原文英文文章

OpenAI Enterprise Key Management (EKM) 概覽

了解 EKM 的運作方式、支援哪些供應商,以及如何開始使用

更新日期:20 days ago

概覽

Enterprise Key Management (EKM)讓你可在 OpenAI 使用由你自家外部 Key Management System (KMS)管理的金鑰,為客戶內容加密,適用於 ChatGPT Enterprise 及 API。

OpenAI 支援在 AWS KMSGoogle CloudGCP)及 Azure Key Vault 的外部帳戶中使用自攜金鑰(BYOK)加密。

目前,EKM 只限適用於擁有指定 OpenAI 客戶代表的 Enterprise 及 Edu 工作區。

OpenAI EKM 加密如何運作

頂層流程

  1. 我們會為你的雲端供應商產生一個資料加密金鑰(DEK)

  2. 你的雲端 KMS 會管理一個主金鑰加密金鑰(KEK),可儲存在你的雲端內或外部。實作方式由你決定。

  3. 我們會要求你的雲端加密 DEK,以取得已加密 DEK(eDEK)。如果你的 KEK 儲存在外部,你的雲端只會額外跳轉到外部儲存位置,這一步對 OpenAI 不透明。

加密

加密時,你的資料會使用 DEK 加密,而 eDEK 會作為檔案的中繼資料儲存。

EKM encryption flow where OpenAI requests a DEK from your KMS, encrypts data, and stores encrypted data with eDEK

解密

解密時,我們會要求你的雲端 KMS 將 eDEK 解密為 DEK,然後我們會使用 DEK 解密資料。

EKM decryption flow where OpenAI requests a DEK from your KMS to decrypt encrypted data for download

主要術語

  • Data Encryption Key (DEK) - 用來加密你資料的金鑰。

  • Encrypted Data Encryption Key (eDEK) - 由你的 KMS 產生的已加密 DEK

  • Key Encryption Key (KEK) - 由你管理的主金鑰,用於將 DEK 加密為 eDEK,以及將 eDEK 解密為 DEK。此金鑰會一直存放於 OpenAI 系統之外。

實作的高層要求

在你的雲端供應商環境中

  1. 在你的雲端 KMS (Azure、AWS 或 GCP)中建立新金鑰

  2. 建立具 Encrypt/Decrypt 權限的自訂、受限政策

  3. 為 OpenAI 建立 trust policy (AWS)、workload identity (GCP)或 service principal (Azure)

  4. 向 OpenAI 指派具受限政策的角色,以存取你的 KMS

在 OpenAI 平台中

ChatGPT Enterprise

請建立一個沙盒 ChatGPT 工作區作測試用途。

API

請在你的 OpenAI 控制台中建立一個將套用加密的新專案。

供應商特定功能

對 AWS 而言,OpenAI 會:

  • 使用 ExternalID 呼叫 AssumeRole

對 GCP 而言,OpenAI 會:

  • 從 OpenAI GCP 帳戶呼叫你的 STS endpoint

  • 使用 GCP 存取 token 在你的 KMS 上呼叫 encrypt/decrypt。

對 Azure 而言,OpenAI 會:

  • 為你的 Azure 租戶保管庫請求存取 token

  • 使用該存取 token 在你的 Key Vault 上呼叫 encrypt/decrypt。

你需要從 OpenAI 取得的資料

驗證

你需要識別 OpenAI 用於 AWS 和 GCP 的聯合身分 token。至於 Azure,你需要識別 OpenAI 應用程式註冊的 application id。

驗證參數摘要

OpenAI AWS principalarn:aws:iam::790389265272:role/EnterpriseKeyManagement
OpenAI GCP 服務帳戶 ID105900137572174660365
OpenAI Azure 應用程式 ID20a14814-5ab7-4612-a671-1382b412bf93

按你的雲端供應商而定,實作時所需資料

  • 如使用 AWS,你必須設定可識別以下項目的 trust policy

    • OpenAI 的 principal(帳戶號碼 + 角色)

    • 作為你的 OpenAI 專案 ID 的 ExternalID

  • 如使用 GCP,你必須設定可識別以下項目的 workload identity

    • OpenAI 的服務帳戶 ID

    • 作為你的 OpenAI 專案 ID 的 audience

  • 如使用 Azure,你必須在 Azure 租戶中為 OpenAI 的應用程式註冊建立一個 service principal

授權

你需要建立一項政策,容許 OpenAI 的身分以受限方式存取你的 KMS。

AWSGCPAzure
kms:Decryptkms:Encryptcloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncryptMicrosoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action

其他

在 Azure 中,金鑰類型(key encryption algorithm)請選擇 RSA,而不是 EC。

OpenAI 需要你提供的資料

請按照此文件中的指示,向 OpenAI 註冊你的 KMS。以下是你需要提供的參數摘要。

  1. 與驗證相關

    1. AWS

      1. IAM Role ARN - 供 OpenAI 承擔的角色(例:arn:aws:iam::123456789:role/role-name)

      2. ExternalID - 你的 OpenAI 組織 ID

    2. GCP

      1. Workload Identity Project Number(例:123456789)

      2. Workload Identity Pool ID

      3. Workload Identity Provider ID

      4. Allowed audience: 你的 OpenAI 組織 ID

    3. Azure

      1. Tenant ID

AWSGCPAzure
與驗證相關 Tenant ID
與 KMS 相關KMS ARN -(例:arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)KMS Project ID(例:adjective-noun-12345)KMS key ring nameKMS key nameKMS key location(例:us-east1)Vault URI (例:https://your-vault-name.vault.azure.net/)Key Name

完成向 OpenAI 註冊 KMS 後,請繼續按照文件中的指示,在 API 專案上啟用你的 EKM 設定。請建立一個新的 OpenAI API 專案作測試用途。

供應商專用實作指南

如需逐步指引,請參閱下方相應連結。請注意,這些內容聚焦於與 OpenAI 整合的要求,並非旨在作為你的完整環境之全面指南

啟用 EKM 後不支援的功能

在此初始版本中,如啟用 EKM,以下功能將不可用:

  • 具同步功能的 Apps

  • 尚未正式推出的功能(即任何仍處於 beta/alpha 的功能)

這篇文章對你有幫助嗎?