OpenAI
Denne siden ble maskinoversatt. Se den opprinnelige engelske artikkelen.

OpenAI / GCP EKM-integrasjonsinstruksjoner

Trinnvise instruksjoner for å klargjøre GCP og aktivere EKM

Oppdatert: 3 hours ago

Oversikt

Enterprise Key Management (EKM) lar OpenAI kryptere data ved hjelp av en hovednøkkel som du kontrollerer. Dette dokumentet viser hvordan du setter opp GCP-kontoen din for å gi OpenAI begrensede tillatelser på KMS-et ditt.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Trinn

1. Opprett en federert identitet for OpenAI

OpenAI vil utstede et identitetstoken fra en GCP-konto som eies av OpenAI, 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 et annet publikum, 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 at GCP STS kan utstede et tilgangstoken når identitetstokenet oppgis.

  1. Gå til IAM & Admin -> Workload Identity Federation og klikk på Create Pool

    GCP IAM & Admin with Workload Identity Federation selected
  2. I trinnet Create an identity pool, skriv inn hva som helst for pool name.

    1. Husk dette til senere – du må registrere det hos OpenAI

  3. I trinnet Add a provider to pool:

    1. I Select a provider velger du OpenID Connect (OIDC)

    2. Skriv inn hva som helst for provider name.

    3. I delen Issuer (URL) skriver du inn https://accounts.google.com

    4. I delen Audiences

      1. Velg Allowed audiences

      2. Skriv inn målgruppen som OpenAI skal angi når vi sender deg et token.

        1. For ChatGPT eller API: Du kan bruke OpenAI API organization ID (org-xxx)

        2. For API: du kan bruke en spesifikk API project id for mer granularitet.

          GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
    5. I delen Attribute mapping

      1. for google.subject skriver du inn assertion.sub

        Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
    6. I delen Attribute conditions

      1. skriv inn assertion.sub == "105900137572174660365"

  4. Nå skal du se workload identity pool og workload identity provider oppført på siden https://console.cloud.google.com/iam-admin/workload-identity-pools

    1. Workload identity pool id

      GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
    2. Workload identity provider ID

      GCP Workload Identity Provider edit page with the provider ID field highlighted

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-et ditt i det samme GCP-prosjektet der du gjenkjente OpenAIs fødererte identitet. Hvis prosjektene er forskjellige, må KMS-produktet imidlertid være aktivert i begge prosjektene.

3. Opprett en ny KMS-nøkkel

  1. Gå til Security -> Data Protection > Key Management

  2. Under fanen Overview klikker du på Create key ring

    1. Velg et valgfritt navn for nøkkelringen din

    2. For Purpose and algorithm velger du Symmetric encrypt/decrypt

      GCP Key Management Overview page with the Create Key Ring button highlighted
    3. Når du har opprettet en nøkkelring, skal den være oppført i fanen Key Rings. Klikk på nøkkelringen.

    4. I detaljene for nøkkelringen klikker du på Create Key

      1. Velg et valgfritt navn for nøkkelen din

4. Opprett en begrenset rolle for krypterings-/dekrypteringsoperasjoner på KMS

  1. Gå til IAM & Admin -> Roles -> Create role

  2. Skriv inn hva som helst for rolletittel og ID

  3. Klikk på Add Permissions, og legg deretter til følgende

    1. cloudkms.cryptoKeyVersions.useToDecrypt

    2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Tildel OpenAIs fødererte identitet til den begrensede KMS-rollen for krypterings-/dekrypteringsoperasjoner

  1. Gå til Security -> Data Protection > Key Management

  2. Klikk på navnet på key ring, og klikk deretter på key name for å komme til siden med nøkkeldetaljer.

    1. Hvis du ikke har dette, går du tilbake til delen Create a KMS

  3. Klikk på fanen Permissions, og klikk deretter på knappen Grant Access

    Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  4. Tildel OpenAIs fødererte identitet til den egendefinerte rollen du opprettet tidligere

    1. I delen Add principals skriver du inn principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

      1. YOUR_GCP_PROJECT_NUMBER her er prosjektet der du gjenkjente OpenAIs fødererte identitet ved å opprette en YOUR_GCP_WORKLOAD_IDENTITY_POOL. Det kan være i det samme prosjektet som KMS-et ditt ligger i, men det er ikke påkrevd.

      2. Hvis prosjektene er forskjellige, må du sørge for at KMS i det minste er aktivert i det andre prosjektet ved å gå til https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview

    2. I delen Assign roles velger du den egendefinerte rollen du opprettet i forrige trinn for begrensede EKM-tillatelser

6. Bruk eventuelle ekstra begrensninger i tråd med egne sikkerhetsrutiner

Ovenfor er minimumsinformasjonen som kreves for at OpenAI skal kunne sette opp EKM. Du står fritt til å bruke ekstra nøkkelpolicyer eller begrensninger i tråd med dine egne interne sikkerhetsrutiner, så lenge OpenAI kan utføre krypterings- og dekrypteringsoperasjoner på KMS-et ditt. Når du kaller endepunktet for nøkkelregistrering hos OpenAI som er beskrevet 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",

    • Det 12-sifrede GCP-prosjektnummeret der du registrerte OpenAIs workload identity

  • "workload_identity_pool_id": "openai-azure",

    • Poolen som inneholder Workload Identity-leverandøren du registrerte for OpenAI

  • "workload_identity_provider_id": "openai-ekm-service-role",

    • Workload Identity-leverandøren du registrerte for OpenAI

  • "kms_project_id": "adjective-noun-12345",

    • Navnet på GCP-prosjektet der KMS-et ditt ligger

  • "kms_key_name": "openai-kms-key",

    • Navnet på hovednøkkelen i Key Management System

  • "kms_key_ring_name": "openai-kms-key-ring",

    • Key Management System-nøkkelringen som inneholder hovednøkkelen du administrerer

  • "kms_key_location": "us-east1"

    • Regionen der hovednøkkelen i Key Management System ligger

Vi vil aktivere EKM for ChatGPT-organisasjonen/arbeidsområdet ditt.

API

Registrer den eksterne nøkkelen din hos OpenAI

Følg instruksjonene i denne API-referansen External Keys in the Management API

  • Først registrerer du den eksterne nøkkelen din på OpenAI-organisasjonsnivå, noe som vil generere en ekstern nøkkel-ID.

  • I dette trinnet validerer vi oppsettet ditt på GCP ved å kontrollere at vi kan autentisere oss mot KMS-et ditt.

  • Dette vil ikke legge 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 aktiveres EKM 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"

}'

Var denne artikkelen nyttig?