Översikt
Enterprise Key Management (EKM) låter dig kryptera ditt kundinnehåll hos OpenAI med nycklar som hanteras av ditt eget externa Key Management System (KMS), tillgängligt för både ChatGPT Enterprise och API.
OpenAI stöder Bring Your Own Key-kryptering (BYOK) med externa konton i AWS KMS, Google Cloud (GCP) och Azure Key Vault.
För närvarande är EKM-implementering begränsad till Enterprise- och Edu-arbetsytor med en namngiven OpenAI-kontorepresentant.
Så fungerar OpenAI EKM-kryptering
Övergripande flöde
Vi genererar en Data Encryption Key (DEK) för din molnleverantör.
Ditt KMS i molnet hanterar en huvudnyckel, en Key Encryption Key (KEK), som antingen lagras i ditt moln eller externt. Implementeringen är upp till dig.
Vi begär kryptering av DEK från ditt moln för att få en krypterad DEK (eDEK). Om din KEK lagras externt gör ditt moln bara ett extra hopp till din externa lagring, i ett steg som är otransparent för OpenAI.
Kryptering
Vid kryptering krypteras dina data med DEK och eDEK lagras som metadata på filen.

Dekryptering
Vid dekryptering begär vi att eDEK dekrypteras av ditt KMS i molnet till DEK, och vi dekrypterar data med DEK.

Nyckelbegrepp
Data Encryption Key (DEK) - nyckeln som krypterar dina data.
Encrypted Data Encryption Key (eDEK) - den krypterade DEK:en, som genereras av ditt KMS
Key Encryption Key (KEK) - huvudnyckeln som du hanterar och som krypterar DEK -> eDEK och dekrypterar eDEK -> DEK. Den här nyckeln stannar alltid utanför OpenAI:s system.
Övergripande krav för implementering
Hos din molnleverantör
Skapa en ny nyckel i ditt KMS i molnet (Azure, AWS eller GCP)
Skapa en anpassad, begränsad policy med Encrypt/Decrypt-behörigheter för KMS
Skapa en trust policy (AWS), en workload identity (GCP) eller en service principal (för Azure) för OpenAI
Tilldela OpenAI en roll med den begränsade policyn för åtkomst till ditt KMS
I OpenAI-plattformar
ChatGPT Enterprise
Skapa en sandbox-arbetsyta i ChatGPT för teständamål.
API
Skapa ett nytt projekt i din OpenAI-dashboard där kryptering ska tillämpas.
Leverantörsspecifika funktioner
För AWS kommer OpenAI att:
Anropa AssumeRole med ett ExternalID
För GCP kommer OpenAI att:
Anropa din STS-slutpunkt från ett OpenAI GCP-konto
Använda GCP-åtkomsttoken för att anropa encrypt/decrypt på ditt KMS.
För Azure kommer OpenAI att:
Begära en åtkomsttoken för valvet i din Azure-tenant
Använda den åtkomsttoken för att anropa encrypt/decrypt på ditt Key Vault.
Information du behöver från OpenAI
Autentisering
Du behöver känna igen OpenAI:s federerade identitetstoken för AWS och GCP. För Azure behöver du känna igen OpenAI:s program-ID för dess appregistrering.
Sammanfattning av autentiseringsparametrar
| OpenAI AWS-principal | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| OpenAI GCP service account id | 105900137572174660365 |
| OpenAI Azure application id | 20a14814-5ab7-4612-a671-1382b412bf93 |
Information som krävs under implementeringen baserat på din molnleverantör
För AWS måste du konfigurera en förtroendepolicy som känner igen:
OpenAI:s huvudman (kontonummer + roll)
Ett ExternalID som är ditt OpenAI-projekt-ID
För GCP måste du konfigurera en Workload Identity som känner igen:
OpenAI:s tjänstkonto-ID
En målgrupp som är ditt OpenAI-projekt-ID
För Azure måste du skapa ett huvudnamn för tjänst i din Azure-klientorganisation för OpenAI:s appregistrering
Skapa ett för OpenAI:s programklient-ID: 20a14814-5ab7-4612-a671-1382b412bf9
Du kan göra detta genom att skicka en POST-begäran till slutpunkten https://graph.microsoft.com/v1.0/servicePrincipals.
Auktorisering
Du behöver skapa en policy som ger OpenAI:s identitet begränsad åtkomst till ditt KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Övrigt
I Azure, välj RSA och inte EC för nyckeltyp (nyckelkrypteringsalgoritm).
Information som OpenAI behöver från dig
Följ anvisningarna i det här dokumentet för att registrera din KMS hos OpenAI. Här är en sammanfattning av de parametrar du behöver ange.
Autentiseringsrelaterat
AWS
ARN för IAM-roll – roll som OpenAI ska anta (exempel: arn:aws:iam::123456789:role/role-name)
ExternalID – ditt OpenAI-organisations-ID
GCP
Projektnummer för Workload Identity (exempel: 123456789)
Pool-ID för Workload Identity
Leverantörs-ID för Workload Identity
Tillåten målgrupp: ditt OpenAI-organisations-ID
Azure
Klientorganisations-ID
| AWS | GCP | Azure | |
| Autentiseringsrelaterat | Klientorganisations-ID | ||
| KMS-relaterat | KMS ARN – (exempel: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | KMS-projekt-ID (exempel: adjective-noun-12345)Namn på KMS-nyckelringNamn på KMS-nyckelPlats för KMS-nyckel (exempel: us-east1) | Vault-URI (exempel: https://your-vault-name.vault.azure.net/)Nyckelnamn |
När du har registrerat din KMS hos OpenAI fortsätter du att följa anvisningarna i dokumentet för att aktivera din EKM-konfiguration i ett API-projekt. Skapa ett nytt OpenAI API-projekt för teständamål.
Leverantörsspecifika implementeringsguider
Stegvisa anvisningar finns via motsvarande länkar nedan. Observera att dessa fokuserar på integrationskraven med OpenAI och inte är avsedda att fungera som en heltäckande guide för hela din miljö
Funktioner som inte stöds när EKM är aktiverat
I den här första versionen är följande funktioner inte tillgängliga om EKM är aktiverat:
Appar med synkronisering
Funktioner som inte är allmänt tillgängliga (dvs. allt som fortfarande är i beta/alpha)
