Общ преглед
Enterprise Key Management (EKM) ви позволява да шифровате клиентското си съдържание в OpenAI с ключове, управлявани от вашата собствена външна система за управление на ключове (KMS), налична както за ChatGPT Enterprise, така и за API.
OpenAI поддържа шифроване Bring Your Own Key (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 от вашия облак, за да получим encrypted 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
Създайте политика на доверие (AWS), workload identity (GCP) или service principal (за Azure) за OpenAI
Присвоете на OpenAI роля с ограничената политика за достъп до вашия KMS
В платформите на OpenAI
ChatGPT Enterprise
Създайте sandbox работно пространство в 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 ще трябва да разпознавате ID на приложението на OpenAI за неговата регистрация на приложение.
Обобщение на параметрите за удостоверяване
| AWS principal на OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID на GCP service account на OpenAI | 105900137572174660365 |
| ID на приложението на OpenAI за Azure | 20a14814-5ab7-4612-a671-1382b412bf93 |
Необходима информация по време на внедряването според вашия доставчик на облачни услуги
За AWS трябва да настроите политика на доверие, която разпознава:
principалa на OpenAI (номер на акаунта + роля)
ExternalID, който е ID на вашия проект в OpenAI
За GCP трябва да настроите workload identity, която разпознава:
ID на service account на OpenAI
audience, която е ID на вашия проект в OpenAI
За Azure трябва да създадете service principal във вашия Azure наемател за регистрацията на приложението на OpenAI
Създайте такъв за application client id на OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Можете да направите това, като изпратите заявка към крайната точка 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
IAM Role ARN - роля, която OpenAI да поеме (пример: arn:aws:iam::123456789:role/role-name)
ExternalID - ID на вашата организация в OpenAI
GCP
Номер на проекта за Workload Identity (пример: 123456789)
ID на пула за Workload Identity
ID на доставчика за Workload Identity
Разрешена audience: ID на вашата организация в OpenAI
Azure
ID на наемателя
| AWS | GCP | Azure | |
| Свързани с удостоверяване | ID на наемателя | ||
| Свързани с KMS | KMS ARN - (пример: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID на проекта за KMS (пример: adjective-noun-12345)Име на key ring за KMSИме на ключа за KMSМестоположение на ключа за KMS (пример: us-east1) | URI на хранилището (пример: https://your-vault-name.vault.azure.net/)Име на ключа |
След като регистрирате своя KMS в OpenAI, продължете да следвате инструкциите в документа, за да активирате конфигурацията си за EKM в API проект. Създайте нов OpenAI API проект за целите на тестването.
Ръководства за внедряване според доставчика
За указания стъпка по стъпка вижте съответните връзки по-долу. Имайте предвид, че те са насочени към изискванията за интеграция с OpenAI и не са предназначени да служат като изчерпателно ръководство за цялата ви среда
Неподдържани функции, ако EKM е активиран
В тази първоначална версия следните функции не са налични, ако EKM е активиран:
Приложения със синхронизация
Функции, които не са общодостъпни (т.е. всичко, което все още е в бета/алфа)
