Pregled
Enterprise Key Management (EKM) vam omogućava da šifrujete sadržaj svojih klijenata u OpenAI-ju koristeći ključeve kojima upravlja vaš vlastiti vanjski sistem za upravljanje ključevima (KMS), dostupan i za ChatGPT Enterprise i za API.
OpenAI podržava Bring Your Own Key (BYOK) šifrovanje s vanjskim nalozima u AWS KMS, Google Cloud (GCP) i Azure Key Vault.
Trenutno je implementacija EKM-a ograničena na Enterprise i Edu radne prostore s dodijeljenim predstavnikom OpenAI naloga.
Kako OpenAI EKM šifrovanje funkcionira
Tok na visokom nivou
Generišemo Data Encryption Key (DEK) za vašeg cloud provajdera.
Vaš cloud KMS upravlja glavnim Key Encryption Key (KEK), koji se pohranjuje ili unutar vašeg clouda ili eksterno. Implementacija je na vama.
Tražimo šifrovanje DEK-a iz vašeg clouda kako bismo dobili encrypted DEK (eDEK). Ako je vaš KEK pohranjen eksterno, vaš cloud samo pravi dodatni skok do vašeg vanjskog spremišta, u koraku koji je neproziran za OpenAI.
Šifrovanje
Prilikom šifrovanja, vaši podaci se šifruju DEK-om, a eDEK se pohranjuje kao metapodatak uz datoteku.

Dešifrovanje
Prilikom dešifrovanja tražimo da vaš cloud KMS dešifruje eDEK u DEK, a zatim podatke dešifrujemo pomoću DEK-a.

Ključni pojmovi
Data Encryption Key (DEK) - ključ koji šifruje vaše podatke.
Encrypted Data Encryption Key (eDEK) - šifrovani DEK koji generiše vaš KMS
Key Encryption Key (KEK) - glavni ključ kojim upravljate i koji šifruje DEK -> eDEK i dešifruje eDEK -> DEK. Ovaj ključ uvijek ostaje izvan OpenAI sistema.
Opći zahtjevi za implementaciju
Kod vašeg cloud provajdera
Kreirajte novi ključ u svom cloud KMS-u (Azure, AWS ili GCP)
Kreirajte prilagođenu, ograničenu policy s dozvolama Encrypt/Decrypt na KMS-u
Kreirajte trust policy (AWS), workload identity (GCP) ili service principal (za Azure) za OpenAI
Dodijelite OpenAI-ju ulogu s ograničenom policy za pristup vašem KMS-u
Na OpenAI platformama
ChatGPT Enterprise
Kreirajte sandbox ChatGPT radni prostor za potrebe testiranja.
API
Na svom OpenAI kontrolnom panelu kreirajte novi projekt na kojem će se primjenjivati šifrovanje.
Funkcije specifične za provajdera
Za AWS, OpenAI će:
Pozvati AssumeRole s ExternalID-jem
Za GCP, OpenAI će:
Pozvati vaš STS endpoint 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 zakupca
Koristiti taj pristupni token za pozivanje encrypt/decrypt na vašem Key Vaultu.
Informacije koje trebate od OpenAI-ja
Autentifikacija
Morat ćete prepoznati OpenAI tokene federiranog identiteta za AWS i GCP. Za Azure ćete morati prepoznati ID OpenAI aplikacije za njenu registraciju aplikacije.
Sažetak parametara za autentifikaciju
| OpenAI AWS principal | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID OpenAI GCP servisnog računa | 105900137572174660365 |
| ID OpenAI Azure aplikacije | 20a14814-5ab7-4612-a671-1382b412bf93 |
Potrebne informacije tokom implementacije na osnovu vašeg pružatelja usluga u oblaku
Za AWS, morate postaviti politiku povjerenja koja prepoznaje:
Principal OpenAI-ja (broj računa + uloga)
ExternalID koji je ID vašeg OpenAI projekta
Za GCP morate postaviti identitet radnog opterećenja koji prepoznaje:
ID OpenAI servisnog računa
Publiku koja je ID vašeg OpenAI projekta
Za Azure morate kreirati principal usluge u svom Azure zakupcu za registraciju OpenAI aplikacije
Kreirajte ga za OpenAI ID klijenta aplikacije: 20a14814-5ab7-4612-a671-1382b412bf9
To možete učiniti slanjem POST zahtjeva na krajnju tačku https://graph.microsoft.com/v1.0/servicePrincipals.
Autorizacija
Morat ćete kreirati policy koja omogućava da OpenAI identitet dobije 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 tip ključa (algoritam za šifrovanje ključa) odaberite RSA, a ne EC.
Informacije koje OpenAI treba od vas
Slijedite upute u ovom dokumentu da registrujete svoj KMS kod OpenAI-ja. Ovo je sažetak parametara koje ćete morati navesti.
Vezano za autentikaciju
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
Dozvoljena publika: ID vaše OpenAI organizacije
Azure
ID zakupca
| AWS | GCP | Azure | |
| Vezano za autentikaciju | ID zakupca | ||
| Vezano za KMS | KMS ARN - (primjer: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID KMS projekta (primjer: adjective-noun-12345)Naziv KMS prstena ključevaNaziv KMS ključaLokacija KMS ključa (primjer: us-east1) | URI trezora (primjer: https://your-vault-name.vault.azure.net/)Naziv ključa |
Nakon što registrujete svoj KMS kod OpenAI-ja, nastavite slijediti upute u dokumentu da aktivirate EKM konfiguraciju na API projektu. Kreirajte novi OpenAI API projekt za potrebe testiranja.
Vodiči za implementaciju specifični za pružatelja usluge
Za detaljne upute pogledajte odgovarajuće linkove u nastavku. Imajte na umu da se oni fokusiraju na zahtjeve integracije s OpenAI-jem i nisu zamišljeni kao sveobuhvatan vodič za vaše cijelo okruženje
Nepodržane funkcije kada je EKM omogućen
Sljedeće funkcije nisu dostupne kada je EKM omogućen:
Funkcije koje nisu općenito dostupne, uključujući funkcije u beta ili alfa verziji.
