Oversikt
Enterprise Key Management (EKM) gjør det mulig for OpenAI å kryptere data med en hovednøkkel du kontrollerer. Dette dokumentet viser hvordan du setter opp GCP-kontoen din for å gi OpenAI begrensede tillatelser på KMS-en din.

Trinn
1. Opprett en føderert identitet for OpenAI
OpenAI kommer til å utstede et identitetstoken fra en OpenAI-eid GCP-konto som ser omtrent slik ut.
azp og sub er OpenAIs tjenestekonto-ID i GCP
aud er OpenAI-organisasjons-ID-en din. Du kan også velge en annen målgruppe, for eksempel OpenAI-prosjekt-ID-en din – se instruksjonene nedenfor
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Dette trinnet gjenkjenner påstandene i det identitetstokenet og gjør det mulig for GCP STS å utstede et tilgangstoken når det identitetstokenet oppgis.
Gå til IAM & administrasjon -> Workload Identity Federation og klikk på Opprett pool

I trinnet Opprett en identitetspool, skriver du inn hva som helst for poolnavnet.
I trinnet Legg til en leverandør i poolen:
Under Velg en leverandør velger du OpenID Connect (OIDC)
Skriv inn hva som helst for leverandørnavnet.
I delen Utsteder (URL) skriver du inn https://accounts.google.com
I delen Målgrupper
Velg Tillatte målgrupper
Skriv inn målgruppen OpenAI skal angi når vi sender deg et token.
For ChatGPT eller API: Du kan angi OpenAI API-organisasjons-ID-en (org-xxx)
For API: Du kan angi en bestemt API-prosjekt-ID for mer granularitet.

I delen Attributtilordning
for google.subject skriver du inn assertion.sub

I delen Attributtbetingelser
Nå skal du se workload identity-poolen og workload identity-leverandøren oppført på siden https://console.cloud.google.com/iam-admin/workload-identity-pools
Workload identity-pool-ID

Workload identity-leverandør-ID

2. Sørg for at KMS er aktivert
Gå til https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview for å aktivere KMS. Du trenger ikke å opprette KMS-en i samme GCP-prosjekt som der du registrerte OpenAIs fødererte identitet; men hvis prosjektene er ulike, må KMS-produktet i det minste være aktivert i begge prosjektene.
3. Opprett en ny KMS-nøkkel
Gå til Sikkerhet -> Databeskyttelse > Nøkkelhåndtering
Under fanen Oversikt klikker du på Opprett nøkkelring
Velg et valgfritt navn for nøkkelringen din
For formål og algoritme velger du Symmetrisk kryptering/dekryptering

Når du har opprettet en nøkkelring, skal den vises i fanen Nøkkelringer. Klikk på nøkkelringen.
I detaljene for nøkkelringen klikker du på Opprett nøkkel
Velg et valgfritt navn for nøkkelen din
4. Opprett en begrenset rolle for krypterings-/dekrypteringsoperasjoner på KMS
Gå til IAM & administrasjon -> Roller -> Opprett rolle
Skriv inn hva som helst for rolletittel og ID
Klikk på Legg til tillatelser, og legg deretter til følgende
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Tildel OpenAIs fødererte identitet til den begrensede KMS-rollen for krypterings-/dekrypteringsoperasjoner
Gå til Sikkerhet -> Databeskyttelse > Nøkkelhåndtering
Klikk på navnet på nøkkelringen din, og klikk deretter på nøkkelnavnet ditt for å gå til siden med nøkkeldetaljer.
Klikk på fanen Tillatelser, og klikk deretter på knappen Gi tilgang

Tildel OpenAIs fødererte identitet til den egendefinerte rollen du opprettet tidligere
I delen Legg til prinsipaler skriver du inn principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
I delen Tildel roller velger du den egendefinerte rollen du opprettet i forrige trinn for begrensede EKM-tillatelser
6. Bruk eventuelle ytterligere begrensninger i tråd med egen sikkerhetspraksis
Ovenfor er den minstekrevde informasjonen OpenAI trenger for å sette opp EKM. Du står fritt til å bruke ytterligere nøkkelpolicyer eller begrensninger i tråd med din egen interne sikkerhetspraksis, så lenge OpenAI kan kalle krypterings- og dekrypteringsoperasjoner på KMS-en din. Når du kaller nøkkelregistreringsendepunktet hos OpenAI som beskrives nedenfor, validerer vi oppsettet ditt.
Etter at du har fullført trinnene ovenfor
ChatGPT Enterprise
Ta kontakt med OpenAI-kontakten din og del følgende:
"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 der hovednøkkelen i Key Management System befinner seg
Vi aktiverer EKM for ChatGPT-organisasjonen/-arbeidsområdet ditt.
API
Registrer den eksterne nøkkelen din hos OpenAI
Følg instruksjonene i denne API-referansen Eksterne nøkler i Management API
Først registrerer du den eksterne nøkkelen din på OpenAI-organisasjonsnivå, noe som genererer en ekstern nøkkel-ID.
I dette trinnet validerer vi oppsettet ditt på GCP ved å kontrollere at vi kan autentisere mot KMS-en din.
Dette legger ikke til EKM i OpenAI-prosjektet ditt ennå.
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-konfigurasjon",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <din org-ID eller prosjekt-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"
}'Deretter oppretter du et OpenAI-prosjekt som er knyttet til den eksterne nøkkelen. Etter dette er EKM aktivert på prosjektet ditt.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Et prosjekt",
"external_key_id": "extkey_xxxx"
}'