Oversikt
Enterprise Key Management (EKM) lar deg kryptere kundeinnholdet ditt hos OpenAI ved hjelp av nøkler som administreres av ditt eget eksterne nøkkelhåndteringssystem (KMS), tilgjengelig både for ChatGPT Enterprise og API.
OpenAI støtter Bring Your Own Key (BYOK)-kryptering med eksterne kontoer i AWS KMS, Google Cloud (GCP) og Azure Key Vault.
For øyeblikket er EKM-implementering begrenset til Enterprise- og Edu-arbeidsområder med en navngitt kontaktperson hos OpenAI.
Slik fungerer OpenAI EKM-kryptering
Flyt på øverste nivå
Vi genererer en Data Encryption Key (DEK) for skyleverandøren din.
Sky-KMS-en din administrerer en overordnet Key Encryption Key (KEK), enten lagret i skyen din eller eksternt. Implementeringen er opp til deg.
Vi ber om kryptering av DEK fra skyen din for å få en encrypted DEK (eDEK). Hvis KEK-en din er lagret eksternt, gjør skyen din bare et ekstra hopp til den eksterne lagringen din, i et trinn som er ugjennomsiktig for OpenAI.
Kryptering
Ved kryptering blir dataene dine kryptert med DEK, og eDEK lagres som metadata på filen.

Dekryptering
Ved dekryptering ber vi om at eDEK dekrypteres av sky-KMS-en din til DEK, og vi dekrypterer dataene med DEK.

Nøkkelbegreper
Data Encryption Key (DEK) - nøkkelen som krypterer dataene dine.
Encrypted Data Encryption Key (eDEK) - den krypterte DEK-en, generert av KMS-en din
Key Encryption Key (KEK) - hovednøkkelen du administrerer som krypterer DEK -> eDEK og dekrypterer eDEK -> DEK. Denne nøkkelen forblir alltid utenfor OpenAIs systemer.
Overordnede krav for implementering
Hos skyleverandøren din
Opprett en ny nøkkel i skyens KMS (Azure, AWS eller GCP)
Opprett en egendefinert, begrenset policy med Encrypt/Decrypt-tillatelser på KMS-en
Opprett en tillitspolicy (AWS), en workload identity (GCP) eller en service principal (for Azure) for OpenAI
Tildel OpenAI en rolle med den begrensede policyen for å få tilgang til KMS-en din
I OpenAI-plattformer
ChatGPT Enterprise
Opprett et ChatGPT-sandkassearbeidsområde for testformål.
API
Opprett et nytt prosjekt i OpenAI-dashbordet der kryptering skal brukes.
Leverandørspesifikke funksjoner
For AWS vil OpenAI:
Kalle AssumeRole med en ExternalID
For GCP vil OpenAI:
Kalle STS-endepunktet ditt fra en OpenAI GCP-konto
Bruke GCP-tilgangstokenet til å kalle encrypt/decrypt på KMS-en din.
For Azure vil OpenAI:
Be om et tilgangstoken for hvelvet i Azure-leieren din
Bruke det tilgangstokenet til å kalle encrypt/decrypt på Key Vault.
Informasjon du trenger fra OpenAI
Autentisering
Du må gjenkjenne OpenAIs fødererte identitetstokener for AWS og GCP. For Azure må du gjenkjenne OpenAIs applikasjons-ID for appregistreringen.
Oppsummering av autentiseringsparametere
| OpenAI AWS principal | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| OpenAI GCP service account id | 105900137572174660365 |
| OpenAI Azure application id | 20a14814-5ab7-4612-a671-1382b412bf93 |
Nødvendig informasjon under implementeringen basert på skyleverandøren din
For AWS må du konfigurere en klareringspolicy som gjenkjenner:
OpenAI-prinsipalen (kontonummer + rolle)
En ExternalID som er OpenAI-prosjekt-ID-en din
For GCP må du konfigurere en Workload Identity som gjenkjenner:
OpenAI's tjenestekonto-ID
En målgruppe som er OpenAI-prosjekt-ID-en din
For Azure må du opprette en tjenestekontohaver i Azure-leieren din for OpenAIs appregistrering
Opprett en for OpenAIs applikasjonsklient-ID: 20a14814-5ab7-4612-a671-1382b412bf9
Du kan gjøre dette ved å sende en POST-forespørsel til endepunktet https://graph.microsoft.com/v1.0/servicePrincipals.
Autorisasjon
Du må opprette en policy som lar OpenAIs identitet få begrenset tilgang til KMS-en din.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Annet
I Azure skal du velge RSA, ikke EC, for nøkkeltype (nøkkelkrypteringsalgoritme).
Informasjon OpenAI trenger fra deg
Følg instruksjonene i denne dokumentasjonen for å registrere KMS-en din hos OpenAI. Her er en oppsummering av parameterne du må oppgi.
Autentiseringsrelatert
AWS
ARN for IAM-rolle – rolle OpenAI skal anta (eksempel: arn:aws:iam::123456789:role/role-name)
ExternalID – organisasjons-ID-en din hos OpenAI
GCP
Workload Identity-prosjektnummer (eksempel: 123456789)
ID for Workload Identity-pool
ID for Workload Identity-leverandør
Tillatt målgruppe: organisasjons-ID-en din hos OpenAI
Azure
Leier-ID
| AWS | GCP | Azure | |
| Autentiseringsrelatert | Leier-ID | ||
| KMS-relatert | KMS ARN – (eksempel: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | KMS-prosjekt-ID (eksempel: adjective-noun-12345)Navn på KMS-nøkkelringNavn på KMS-nøkkelPlassering for KMS-nøkkel (eksempel: us-east1) | Hvelv-URI (eksempel: https://your-vault-name.vault.azure.net/)Nøkkelnavn |
Når du har registrert KMS-en din hos OpenAI, fortsetter du å følge instruksjonene i dokumentasjonen for å aktivere EKM-konfigurasjonen din i et API-prosjekt. Opprett et nytt OpenAI API-prosjekt for testformål.
Leverandørspesifikke implementeringsveiledninger
Hvis du vil ha trinnvis veiledning, kan du se de tilsvarende lenkene nedenfor. Vær oppmerksom på at disse fokuserer på integrasjonskravene med OpenAI og ikke er ment å fungere som en omfattende veiledning for hele miljøet ditt
Funksjoner som ikke støttes når EKM er aktivert
I denne første utgivelsen er følgende funksjoner ikke tilgjengelige hvis EKM er aktivert:
Apper med synkronisering
Funksjoner som ikke er allment tilgjengelige (dvs. alt som fortsatt er i beta/alpha)
