OpenAI

OpenAI 企業金鑰管理 (EKM) 概觀

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

更新日期:20 days ago

概覽

企業金鑰管理 (EKM) 可讓你在 OpenAI 使用由你自己的外部金鑰管理系統 (KMS) 管理的金鑰,為你的客戶內容加密;ChatGPT Enterprise 和 API 皆適用。OpenAI 支援使用位於 AWS KMSGoogle Cloud (GCP)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

關鍵詞

  • 資料加密金鑰 (DEK):用於加密資料的金鑰。

  • 加密的資料加密金鑰 (eDEK) - 由你的 KMS 產生的加密 DEK

  • 金鑰加密金鑰 (KEK) - 你管理的主金鑰,用於將 DEK 加密為 eDEK,並將 eDEK 解密為 DEK。此金鑰始終不會進入 OpenAI 系統。

實施的高層次需求

在你的雲端服務供應商中

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

  2. 已在 KMS 上建立具備加密/解密權限的自訂有限原則

  3. 為 OpenAI 建立 信任原則 (AWS)、工作負載身分識別(GCP) 或 服務主體 (適用於 Azure)

  4. 為 OpenAI 指派具有有限原則的角色,以存取你的 KMS

在 OpenAI 各平台中

ChatGPT Enterprise

建立一個測試使用的沙箱 ChatGPT 工作區。

API

在 OpenAI 儀表板,建立一個將套用加密功能的新專案。

特定供應商的函式

對於 AWS,OpenAI 會:

  • 使用 ExternalID 呼叫 AssumeRole

對於 GCP, OpenAI 會:

  • 從 OpenAI GCP 帳戶呼叫你的 STS 端點

  • 使用 GCP 存取 Token 呼叫你的 KMS 執行加密/解密。

對於 Azure,OpenAI 會:

  • 申請存取 Token,用於你的 Azure 租戶保存庫

  • 使用該存取 Token 來對你的 Key Vault 執行加密/解密。

你必須從 OpenAI 獲得的資訊

身分驗證

你必須辨識 AWS 和 GCP 的 OpenAI 聯合身分 Token。對於 Azure,你必須辨識 OpenAI 在其應用程式註冊中的應用程式 ID。

身分驗證參數摘要

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

根據你的雲端服務供應商,在實施過程中所需的資訊

  • 對於 AWS,你必須設定一個可識別以下對象的 信任原則

    • OpenAI 的主要負責人 (帳號 + 角色)

    • ExternalID 是你的 OpenAI 專案 ID

  • 對於 GCP,你必須設定一個可辨識的工作負載身分識別

    • OpenAI 的服務帳戶 ID

    • 你的 OpenAI 專案 ID 的目標受眾

  • 對於 Azure,你必須在 Azure 租戶中為 OpenAI 的應用程式註冊建立服務主體

授權

你必須建立一項原則,允許 OpenAI 的身分取得 KMS 的有限存取權限。

AWSGCPAzure
kms:Decryptkms:EncryptCloudkm.cryptoKeyVersion.useToDecryptCloudkms.cryptoKeyVersion.useToEncryptMicrosoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action

其他

在 Azure,針對金鑰類型 (金鑰加密演算法),請選取 RSA 而非 EC。

OpenAI 需要你提供的資訊

依照這份文件中的指示操作,向 OpenAI 註冊你的 KMS。以下為你必須提供的參數摘要。

  1. 驗證相關

    1. AWS

      1. IAM 角色 ARN - 供 OpenAI 使用的角色 (例如:arn:aws:iam::123456789:role/role-name)

      2. ExternalID - 你的 OpenAI 組織 ID

    2. GCP

      1. 工作負載身分專案編號 (例如:123456789)

      2. 工作負載身分集區 ID

      3. 工作負載身分驗證供應商 ID

      4. 允許的對象:你的 OpenAI 組織 ID

    3. Azure

      1. 租戶 ID

AWSGCPAzure
驗證相關租戶 ID
KMS 相關KMS ARN - (例如:arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)KMS 專案 ID (例如:adjective-noun-12345)KMS 金鑰圈名稱KMS 金鑰名稱KMS 金鑰位置 (例如:us-east1)保存庫 URI (例如:https://your-vault-name.vault.azure.net/)金鑰名稱

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

供應商專屬實作指南

如需循序漸進的指導,請參閱下方對應連結。請注意,這些重點在於與 OpenAI 的整合需求,並非你完整環境的全面指南

啟用 EKM 時,不支援的功能

在初始版本中,啟用 EKM 後,無法使用以下功能:

  • 具有同步處理功能的應用程式

  • 尚未正式推出的功能 (即任何仍在 Beta/Alpha 測試階段)

這篇文章有幫助嗎?