Огляд
Керування корпоративними ключами (EKM) дає змогу шифрувати ваш клієнтський вміст в OpenAI за допомогою ключів, якими керує ваша власна зовнішня система керування ключами (KMS). Ця функція доступна для ChatGPT Enterprise і API.
OpenAI підтримує шифрування за моделлю «власний ключ» (BYOK) із зовнішніми обліковими записами в AWS KMS, Google Cloud (GCP) та Azure Key Vault.
Наразі впровадження EKM доступне лише для робочих просторів Enterprise та Edu, за якими закріплено представника OpenAI.
Як працює шифрування OpenAI EKM
Загальний процес
Ми генеруємо Data Encryption Key (DEK) для вашого хмарного провайдера.
Ваш хмарний KMS керує головним Key Encryption Key (KEK), який зберігається або у вашій хмарі, або зовнішньо. Реалізація залежить від вас.
Ми запитуємо шифрування DEK у вашій хмарі, щоб отримати зашифрований DEK (eDEK). Якщо ваш KEK зберігається зовнішньо, ваша хмара просто виконує додатковий перехід до вашого зовнішнього сховища на кроці, який є непрозорим для OpenAI.
Шифрування
Під час шифрування ваші дані шифруються за допомогою DEK, а eDEK зберігається як метадані файлу.

Розшифрування
Під час розшифрування ми запитуємо розшифрування eDEK вашим хмарним KMS у DEK, а потім розшифровуємо дані за допомогою DEK.

Ключові терміни
Data Encryption Key (DEK) — ключ, який шифрує ваші дані.
Encrypted Data Encryption Key (eDEK) — зашифрований DEK, згенерований вашим KMS
Key Encryption Key (KEK) — головний ключ, яким ви керуєте, який шифрує DEK -> eDEK і розшифровує eDEK -> DEK. Цей ключ завжди залишається поза системами OpenAI.
Загальні вимоги до впровадження
У вашого хмарного постачальника
Створіть новий ключ у своїй хмарній KMS (Azure, AWS або GCP)
Створіть спеціальну обмежену політику з дозволами Encrypt/Decrypt для KMS
Створіть для OpenAI політику довіри (AWS), ідентифікацію робочого навантаження (GCP) або суб’єкт-службу (Azure)
Призначте OpenAI роль з обмеженою політикою для доступу до вашої KMS
На платформах OpenAI
ChatGPT Enterprise
Для тестування створіть ізольований робочий простір ChatGPT.
API
На панелі OpenAI створіть новий проєкт, до якого буде застосовано шифрування.
Функції, специфічні для провайдера
Для AWS OpenAI:
викликатиме AssumeRole з ExternalID
Для GCP OpenAI:
викликатиме вашу кінцеву точку STS з облікового запису GCP OpenAI
використовуватиме токен доступу GCP для виклику encrypt/decrypt у вашому KMS.
Для Azure OpenAI:
запитуватиме токен доступу для сховища у вашому орендарі Azure
використовуватиме цей токен доступу для виклику encrypt/decrypt у вашому Key Vault.
Інформація, яку вам потрібно отримати від OpenAI
Автентифікація
Вам потрібно буде розпізнавати токени федеративної ідентичності OpenAI для AWS і GCP. Для Azure потрібно буде розпізнавати ідентифікатор застосунку OpenAI для його реєстрації застосунку.
Підсумок параметрів автентифікації
| AWS-суб’єкт OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| Ідентифікатор сервісного облікового запису GCP OpenAI | 105900137572174660365 |
| Ідентифікатор застосунку Azure OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Інформація, необхідна під час упровадження залежно від вашого хмарного постачальника
Для AWS потрібно налаштувати політику довіри, яка розпізнає:
Для GCP потрібно налаштувати ідентифікацію робочого навантаження, яка розпізнає:
Для Azure потрібно створити суб’єкт-службу у своєму орендарі Azure для реєстрації застосунку OpenAI
Створіть його для ідентифікатора клієнта застосунку OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Для цього можна надіслати запит POST на кінцеву точку https://graph.microsoft.com/v1.0/servicePrincipals.
Авторизація
Потрібно створити політику, яка надасть ідентичності OpenAI обмежений доступ до вашої KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Інше
В Azure для типу ключа (алгоритму шифрування ключа) виберіть RSA, а не EC.
Інформація, яку потрібно надати OpenAI
Дотримуйтеся вказівок у цьому документі, щоб зареєструвати свою KMS в OpenAI. Нижче наведено стислий перелік параметрів, які потрібно надати.
Пов’язане з автентифікацією
AWS
GCP
Azure
Ідентифікатор орендаря
| AWS | GCP | Azure | |
| Пов’язане з автентифікацією | Ідентифікатор орендаря | ||
| Пов’язане з KMS | ARN KMS — (приклад: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | Ідентифікатор проєкту KMS (приклад: adjective-noun-12345) Назва кільця ключів KMS Назва ключа KMS Розташування ключа KMS (приклад: us-east1) | URI сховища (приклад: https://your-vault-name.vault.azure.net/) Назва ключа |
Зареєструвавши свою KMS в OpenAI, дотримуйтеся подальших вказівок у документі, щоб активувати конфігурацію EKM у проєкті API. Створіть новий проєкт OpenAI API для тестування.
Посібники з упровадження для різних постачальників
Покрокові вказівки наведено за відповідними посиланнями нижче. Зверніть увагу: ці матеріали зосереджені на вимогах до інтеграції з OpenAI й не є вичерпним посібником із налаштування всього вашого середовища
Функції, що не підтримуються, якщо ввімкнено EKM
Якщо ввімкнено EKM, наведені нижче функції недоступні:
Функції, які ще не є загальнодоступними, зокрема функції в бета- або альфа-версії.
