Общ преглед
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 трябва да настроите политика на доверие, която разпознава:
principal на OpenAI (номер на акаунт + роля)
ExternalID, който е ID на вашия OpenAI проект
За GCP трябва да настроите workload identity, която разпознава:
ID на service account на OpenAI
Аудитория, която е ID на вашия OpenAI проект
За Azure трябва да създадете субект на услуга във вашия Azure tenant за регистрацията на приложението на OpenAI
Създайте такъв за application client id на 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
ARN на IAM роля – роля, която OpenAI да поеме (пример: arn:aws:iam::123456789:role/role-name)
ExternalID – ID на вашата организация в OpenAI
GCP
Номер на проект за Workload Identity (пример: 123456789)
ID на пул за Workload Identity
ID на доставчик на Workload Identity
Разрешена аудитория: ID на вашата организация в OpenAI
Azure
ID на tenant
| AWS | GCP | Azure | |
| Свързано с удостоверяване | ID на tenant | ||
| Свързано с KMS | KMS ARN – (пример: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID на KMS проект (пример: adjective-noun-12345)Име на KMS key ringИме на KMS ключМестоположение на KMS ключ (пример: us-east1) | URI на хранилище (пример: https://your-vault-name.vault.azure.net/)Име на ключа |
След като регистрирате своя KMS в OpenAI, продължете да следвате инструкциите в документа, за да активирате конфигурацията си за EKM в API проект. Създайте нов OpenAI API проект за целите на тестването.
Ръководства за внедряване според доставчика
За указания стъпка по стъпка вижте съответните връзки по-долу. Моля, имайте предвид, че те се фокусират върху изискванията за интеграция с OpenAI и не са предназначени да служат като изчерпателно ръководство за цялата ви среда
Неподдържани функции, ако EKM е активиран
В тази първоначална версия следните функции не са налични, ако EKM е активиран:
Приложения със синхронизация
Функции, които не са общодостъпни (т.е. всичко, което все още е в бета/алфа)
