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 |
Påkrevd informasjon under implementering basert på skyleverandøren din
For AWS må du sette opp en tillitspolicy som gjenkjenner:
OpenAIs principal (kontonummer + rolle)
En ExternalID som er OpenAI-prosjekt-ID-en din
For GCP må du sette opp en workload identity som gjenkjenner:
OpenAIs tjenestekonto-ID
En audience som er OpenAI-prosjekt-ID-en din
For Azure må du opprette en service principal i Azure-leieren din for OpenAIs appregistrering
Opprett en for OpenAIs application client id: 20a14814-5ab7-4612-a671-1382b412bf9
Du kan gjøre dette ved å sende en 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 dette dokumentet for å registrere KMS-en din hos OpenAI. Her er en oppsummering av parameterne du må oppgi.
Relatert til autentisering
AWS
IAM Role ARN - rolle som OpenAI skal påta seg (eksempel: arn:aws:iam::123456789:role/role-name)
ExternalID - OpenAI-organisasjons-ID-en din
GCP
Workload Identity Project Number (eksempel: 123456789)
Workload Identity Pool ID
Workload Identity Provider ID
Allowed audience: OpenAI-organisasjons-ID-en din
Azure
Tenant ID
| AWS | GCP | Azure | |
| Relatert til autentisering | Tenant ID | ||
| Relatert til KMS | KMS ARN - (eksempel: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | KMS Project ID (eksempel: adjective-noun-12345)KMS key ring nameKMS key nameKMS key location (eksempel: us-east1) | Vault URI (eksempel: https://your-vault-name.vault.azure.net/)Key Name |
Etter at du har registrert KMS-en din hos OpenAI, fortsetter du å følge instruksjonene i dokumentet for å aktivere EKM-konfigurasjonen din på et API-prosjekt. Opprett et nytt OpenAI API-prosjekt for testformål.
Leverandørspesifikke implementeringsveiledninger
For trinnvis veiledning, se de relevante lenkene nedenfor. Merk at disse fokuserer på integrasjonskravene med OpenAI, og ikke er ment å fungere som en fullstendig 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)
