Översikt
Enterprise Key Management (EKM) gör att OpenAI kan kryptera data med en huvudnyckel som du kontrollerar. Det här dokumentet visar hur du konfigurerar ditt GCP-konto för att ge OpenAI begränsade behörigheter till ditt KMS.

Steg
1. Skapa en federerad identitet för OpenAI
OpenAI utfärdar en identitetstoken från ett GCP-konto som ägs av OpenAI och som ser ut ungefär så här.
azp och sub är OpenAI:s tjänstkonto-ID i GCP
aud är ditt OpenAI-organisations-ID. Du kan också välja en annan målgrupp, till exempel ditt OpenAI-projekt-ID – se instruktionerna nedan
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Det här steget känner igen anspråken från den identitetstoken och gör det möjligt för din GCP STS att utfärda en åtkomsttoken när identitetstoken tillhandahålls.
Gå till IAM & Admin -> Workload Identity Federation och klicka på Skapa pool

I steget Skapa en identitetspool anger du valfritt poolnamn.
I steget Lägg till en provider i poolen:
I Välj en provider väljer du OpenID Connect (OIDC)
Ange valfritt providernamn.
I avsnittet Utfärdare (URL) anger du https://accounts.google.com
I avsnittet Målgrupper
Välj Tillåtna målgrupper
Ange den målgrupp som OpenAI ska ange när vi skickar en token till dig.
För ChatGPT eller API: Du kan ange OpenAI API-organisations-ID (org-xxx)
För API: du kan ange ett specifikt API-projekt-id för mer granularitet.

I avsnittet Attributmappning
för google.subject anger du assertion.sub

I avsnittet Attributvillkor
Nu bör du se din workload identity-pool och workload identity-provider listade på sidan https://console.cloud.google.com/iam-admin/workload-identity-pools
Workload identity-pool-id

Workload identity-provider-ID

2. Kontrollera att KMS är aktiverat
Gå till https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview för att aktivera KMS. Du behöver inte skapa ditt KMS i samma GCP-projekt där du identifierade OpenAI:s federerade identitet. Om projekten skiljer sig åt måste KMS-produkten dock åtminstone vara aktiverad i båda projekten.
3. Skapa en ny KMS-nyckel
Gå till Säkerhet -> Dataskydd > Nyckelhantering
Under fliken Översikt klickar du på Skapa nyckelring
Välj valfritt namn för din nyckelring
För Syfte och algoritm väljer du Symmetrisk kryptering/dekryptering

När du har skapat en nyckelring bör den visas på fliken Nyckelringar. Klicka på nyckelringen.
I informationen om nyckelringen klickar du på Skapa nyckel
Välj valfritt namn för din nyckel
4. Skapa en begränsad roll för krypterings-/dekrypteringsåtgärder på KMS
Gå till IAM & Admin -> Roller -> Skapa roll
Ange valfri rolltitel och valfritt ID
Klicka på Lägg till behörigheter och lägg sedan till följande
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Tilldela OpenAI:s federerade identitet den begränsade KMS-rollen för krypterings-/dekrypteringsåtgärder
Gå till Säkerhet -> Dataskydd > Nyckelhantering
Klicka på namnet på din nyckelring och klicka sedan på ditt nyckelnamn för att öppna sidan med nyckelinformation.
Klicka på fliken Behörigheter och klicka sedan på knappen Bevilja åtkomst

Tilldela OpenAI:s federerade identitet till den anpassade roll du skapade tidigare
I avsnittet Lägg till huvudkonton anger du principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
I avsnittet Tilldela roller väljer du den anpassade roll du skapade i föregående steg för begränsade EKM-behörigheter
6. Tillämpa eventuella ytterligare begränsningar i linje med dina egna säkerhetsrutiner
Ovanstående är den minsta information som krävs för att OpenAI ska kunna konfigurera EKM. Du kan tillämpa ytterligare nyckelpolicyer eller begränsningar i linje med dina egna interna säkerhetsrutiner, så länge OpenAI kan anropa krypterings- och dekrypteringsåtgärder på ditt KMS. När du anropar slutpunkten för nyckelregistrering med OpenAI som beskrivs nedan validerar vi din konfiguration.
Efter att ha slutfört stegen ovan
ChatGPT Enterprise
Kontakta din OpenAI-kontakt och dela följande:
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"kms_project_id": "adjective-noun-12345",
"kms_key_name": "openai-kms-key",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_location": "us-east1"
Regionen där huvudnyckeln för ditt nyckelhanteringssystem finns
Vi aktiverar EKM för din ChatGPT-organisation/arbetsyta.
API
Registrera din externa nyckel hos OpenAI
Följ instruktionerna i denna API-referens: Externa nycklar i Management API
Registrera först din externa nyckel på OpenAI-organisationsnivå, vilket genererar ett externt nyckel-id.
I det här steget validerar vi din konfiguration på GCP genom att kontrollera att vi kan autentisera oss mot ditt KMS.
Detta lägger inte till EKM i ditt OpenAI-projekt ännu.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "gcp",
"name": "GCP EKM-konfiguration",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <ditt organisations-id eller projekt-id>,
"kms_project_id": "adjective-noun-12345",
"kms_key_name": "openai-kms-key",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_location": "us-east1"
}'Skapa sedan ett OpenAI-projekt som är kopplat till den externa nyckeln. Därefter aktiveras EKM i ditt projekt.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Något projekt",
"external_key_id": "extkey_xxxx"
}'