Prezentare generală
Enterprise Key Management (EKM) vă permite să vă criptați conținutul clienților la OpenAI folosind chei gestionate de propriul dvs. sistem extern de gestionare a cheilor (KMS), disponibil atât pentru ChatGPT Enterprise, cât și pentru API.
OpenAI acceptă criptarea Bring Your Own Key (BYOK) cu conturi externe în AWS KMS, Google Cloud (GCP) și Azure Key Vault.
În acest moment, implementarea EKM este limitată la spațiile de lucru Enterprise și Edu cu un reprezentant de cont OpenAI desemnat.
Cum funcționează criptarea EKM OpenAI
Flux de nivel superior
Generăm o Data Encryption Key (DEK) pentru furnizorul dvs. cloud.
KMS-ul dvs. cloud gestionează o Key Encryption Key (KEK) principală, stocată fie în cloudul dvs., fie extern. Implementarea depinde de dvs.
Solicităm criptarea DEK-ului din cloudul dvs., pentru a obține un DEK criptat (eDEK). Dacă KEK-ul dvs. este stocat extern, cloudul dvs. face doar un pas suplimentar către stocarea externă, într-o etapă opacă pentru OpenAI.
Criptare
La criptare, datele dvs. sunt criptate cu DEK-ul, iar eDEK-ul este stocat ca metadate în fișier.

Decriptare
La decriptare, solicităm ca eDEK-ul să fie decriptat de KMS-ul dvs. cloud în DEK, iar noi decriptăm datele cu DEK-ul.

Termeni-cheie
Data Encryption Key (DEK) - cheia care vă criptează datele.
Encrypted Data Encryption Key (eDEK) - DEK-ul criptat, generat de KMS-ul dvs.
Key Encryption Key (KEK) - cheia principală pe care o gestionați și care criptează DEK -> eDEK și decriptează eDEK -> DEK. Această cheie rămâne întotdeauna în afara sistemelor OpenAI.
Cerințe de nivel înalt pentru implementare
În furnizorul dvs. cloud
Creați o cheie nouă în KMS-ul dvs. cloud (Azure, AWS sau GCP)
Creați o politică personalizată, limitată, cu permisiuni Encrypt/Decrypt pe KMS
Creați o politică de încredere (AWS), o identitate de workload (GCP) sau un service principal (pentru Azure) pentru OpenAI
Atribuiți OpenAI un rol cu politica limitată pentru a vă accesa KMS-ul
Pe platformele OpenAI
ChatGPT Enterprise
Creați un spațiu de lucru ChatGPT sandbox în scopuri de testare.
API
În tabloul de bord OpenAI, creați un proiect nou în care va fi aplicată criptarea.
Funcții specifice furnizorului
Pentru AWS, OpenAI va:
apela AssumeRole cu un ExternalID
Pentru GCP, OpenAI va:
apela punctul final STS dintr-un cont GCP OpenAI
folosi tokenul de acces GCP pentru a apela encrypt/decrypt în KMS-ul dvs.
Pentru Azure, OpenAI va:
solicita un token de acces pentru seiful din tenantul dvs. Azure
folosi acel token de acces pentru a apela encrypt/decrypt în Key Vault.
Informațiile de care aveți nevoie de la OpenAI
Autentificare
Va trebui să recunoașteți tokenurile de identitate federată ale OpenAI pentru AWS și GCP. Pentru Azure, va trebui să recunoașteți ID-ul aplicației OpenAI pentru înregistrarea aplicației sale.
Rezumatul parametrilor de autentificare
| Principalul AWS OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID-ul contului de serviciu GCP OpenAI | 105900137572174660365 |
| ID-ul aplicației Azure OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Informații necesare în timpul implementării în funcție de furnizorul dvs. cloud
Pentru AWS, trebuie să configurați o politică de încredere care să recunoască:
principalul OpenAI (număr de cont + rol)
un ExternalID care este ID-ul proiectului dvs. OpenAI
Pentru GCP trebuie să configurați o identitate de workload care să recunoască:
ID-ul contului de serviciu OpenAI
o audiență care este ID-ul proiectului dvs. OpenAI
Pentru Azure trebuie să creați un service principal în tenantul dvs. Azure pentru înregistrarea aplicației OpenAI
Creați unul pentru ID-ul client al aplicației OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Puteți face acest lucru printr-o postare la punctul final https://graph.microsoft.com/v1.0/servicePrincipals.
Autorizare
Va trebui să creați o politică care să permită identității OpenAI să obțină acces limitat la KMS-ul dvs.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Altele
În Azure, pentru tipul cheii (algoritmul de criptare al cheii), selectați RSA, nu EC.
Informațiile de care OpenAI are nevoie de la dvs.
Urmați instrucțiunile din acest document pentru a vă înregistra KMS-ul la OpenAI. Iată un rezumat al parametrilor pe care va trebui să îi furnizați.
Legate de autentificare
AWS
IAM Role ARN - rol pe care OpenAI îl poate asuma (exemplu: arn:aws:iam::123456789:role/role-name)
ExternalID - ID-ul organizației dvs. OpenAI
GCP
Numărul proiectului Workload Identity (exemplu: 123456789)
ID-ul pool-ului Workload Identity
ID-ul furnizorului Workload Identity
Audiență permisă: ID-ul organizației dvs. OpenAI
Azure
ID locatar
| AWS | GCP | Azure | |
| Legate de autentificare | ID locatar | ||
| Legate de KMS | KMS ARN - (exemplu: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID proiect KMS (exemplu: adjective-noun-12345)Numele key ring-ului KMSNumele cheii KMSLocația cheii KMS (exemplu: us-east1) | URI seif (exemplu: https://your-vault-name.vault.azure.net/)Nume cheie |
După ce v-ați înregistrat KMS-ul la OpenAI, continuați să urmați instrucțiunile din document pentru a vă activa configurația EKM într-un proiect API. Creați un proiect OpenAI API nou în scopuri de testare.
Ghiduri de implementare specifice furnizorului
Pentru îndrumare pas cu pas, consultați linkurile corespunzătoare de mai jos. Rețineți că acestea se concentrează pe cerințele de integrare cu OpenAI și nu sunt concepute ca un ghid cuprinzător pentru întregul dvs. mediu
Funcții neacceptate dacă EKM este activat
În această versiune inițială, următoarele funcții nu sunt disponibile dacă EKM este activat:
Aplicații cu sincronizare
Funcții care nu sunt General Availability (adică orice este încă în beta/alpha)
