Pregled
Enterprise Key Management (EKM) omogućuje vam šifriranje sadržaja svojih korisnika u OpenAI-ju pomoću ključeva kojima upravlja vaš vlastiti vanjski sustav za upravljanje ključevima (KMS), dostupan i za ChatGPT Enterprise i za API.
OpenAI podržava šifriranje Bring Your Own Key (BYOK) s vanjskim računima u AWS KMS-u, Google Cloudu (GCP) i Azure Key Vaultu.
Trenutačno je implementacija EKM-a ograničena na Enterprise i Edu radne prostore s imenovanim predstavnikom OpenAI računa.
Kako funkcionira OpenAI EKM šifriranje
Tijek na visokoj razini
Generiramo Data Encryption Key (DEK) za vašeg pružatelja usluga u oblaku.
Vaš KMS u oblaku upravlja glavnim Key Encryption Key (KEK), pohranjenim unutar vašeg oblaka ili izvan njega. Implementacija ovisi o vama.
Od vašeg oblaka tražimo šifriranje DEK-a kako bismo dobili encrypted DEK (eDEK). Ako je vaš KEK pohranjen izvanjski, vaš oblak samo napravi dodatni skok do vaše vanjske pohrane, u koraku koji je neproziran za OpenAI.
Šifriranje
Pri šifriranju vaši se podaci šifriraju pomoću DEK-a, a eDEK se pohranjuje kao metapodatak datoteke.

Dešifriranje
Pri dešifriranju tražimo da vaš KMS u oblaku dešifrira eDEK u DEK, a zatim podatke dešifriramo pomoću DEK-a.

Ključni pojmovi
Data Encryption Key (DEK) - ključ koji šifrira vaše podatke.
Encrypted Data Encryption Key (eDEK) - šifrirani DEK koji generira vaš KMS
Key Encryption Key (KEK) - glavni ključ kojim upravljate, a koji šifrira DEK -> eDEK i dešifrira eDEK -> DEK. Taj ključ uvijek ostaje izvan OpenAI sustava.
Osnovni zahtjevi za implementaciju
U vašeg pružatelja usluga u oblaku
Izradite novi ključ u svom KMS-u u oblaku (Azure, AWS ili GCP)
Izradite prilagođeno, ograničeno pravilo s dozvolama Encrypt/Decrypt na KMS-u
Izradite pravilo povjerenja (AWS), identitet radnog opterećenja (GCP) ili glavni servisni identitet (za Azure) za OpenAI
Dodijelite OpenAI-ju ulogu s ograničenim pravilom za pristup vašem KMS-u
Na OpenAI platformama
ChatGPT Enterprise
Izradite sandbox ChatGPT radni prostor za potrebe testiranja.
API
Na svojoj upravljačkoj ploči OpenAI-ja izradite novi projekt na kojem će se primjenjivati šifriranje.
Funkcije specifične za pružatelja
Za AWS OpenAI će:
Pozvati AssumeRole s parametrom ExternalID
Za GCP OpenAI će:
Pozvati vašu STS krajnju točku s OpenAI GCP računa
Koristiti GCP pristupni token za pozivanje encrypt/decrypt na vašem KMS-u.
Za Azure OpenAI će:
Zatražiti pristupni token za trezor vašeg Azure klijenta
Koristiti taj pristupni token za pozivanje encrypt/decrypt na vašem Key Vaultu.
Informacije koje trebate od OpenAI-ja
Autentifikacija
Morat ćete prepoznati tokene federiranog identiteta OpenAI-ja za AWS i GCP. Za Azure ćete morati prepoznati ID OpenAIjeve aplikacije za registraciju njegove aplikacije.
Sažetak parametara autentifikacije
| OpenAI AWS glavni identitet | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID OpenAI GCP servisnog računa | 105900137572174660365 |
| ID OpenAI Azure aplikacije | 20a14814-5ab7-4612-a671-1382b412bf93 |
Obavezne informacije tijekom implementacije na temelju vašeg pružatelja usluga u oblaku
Za AWS, morate postaviti pravilo pouzdanosti koje prepoznaje:
OpenAI-jev principal (broj računa + uloga)
ExternalID koji je ID vašeg OpenAI projekta
Za GCP morate postaviti workload identity koji prepoznaje:
ID OpenAI's servisnog računa
Publiku koja je ID vašeg OpenAI projekta
Za Azure morate stvoriti principal usluge u svom Azure tenant-u za registraciju OpenAI-jeve aplikacije
Izradite ga za OpenAI-jev ID klijenta aplikacije: 20a14814-5ab7-4612-a671-1382b412bf9
To možete učiniti slanjem POST zahtjeva na krajnju točku https://graph.microsoft.com/v1.0/servicePrincipals.
Autorizacija
Morat ćete izraditi pravilo koje omogućuje OpenAI identitetu ograničen pristup vašem KMS-u.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Ostalo
U Azureu za vrstu ključa (algoritam šifriranja ključa) odaberite RSA, a ne EC.
Informacije koje OpenAI treba od vas
Slijedite upute u ovom dokumentu kako biste registrirali svoj KMS s OpenAI-jem. Ovo je sažetak parametara koje ćete morati navesti.
Povezano s autentifikacijom
AWS
ARN IAM uloge - uloga koju OpenAI preuzima (primjer: arn:aws:iam::123456789:role/role-name)
ExternalID - ID vaše OpenAI organizacije
GCP
Broj projekta Workload Identity (primjer: 123456789)
ID skupa Workload Identity
ID pružatelja Workload Identity
Dopuštena publika: ID vaše OpenAI organizacije
Azure
ID tenanta
| AWS | GCP | Azure | |
| Povezano s autentifikacijom | ID tenanta | ||
| Povezano s KMS-om | KMS ARN - (primjer: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID KMS projekta (primjer: adjective-noun-12345)Naziv KMS key ringaNaziv KMS ključaLokacija KMS ključa (primjer: us-east1) | URI trezora (primjer: https://your-vault-name.vault.azure.net/)Naziv ključa |
Nakon što registrirate svoj KMS s OpenAI-jem, nastavite slijediti upute u dokumentu kako biste aktivirali svoju EKM konfiguraciju na API projektu. Izradite novi OpenAI API projekt za potrebe testiranja.
Vodiči za implementaciju specifični za pružatelja usluga
Za detaljne upute pogledajte odgovarajuće poveznice u nastavku. Imajte na umu da su usmjereni na zahtjeve integracije s OpenAI-jem i nisu namijenjeni kao sveobuhvatan vodič za vaše potpuno okruženje
Nepodržane značajke kada je EKM omogućen
U ovom početnom izdanju sljedeće značajke nisu dostupne ako je EKM omogućen:
Aplikacije sa sinkronizacijom
Značajke koje nisu općenito dostupne (tj. sve što je još u beta/alpha fazi)
