OpenAI
Această pagină a fost tradusă automat. Vezi articolul original în limba engleză.

Instrucțiuni de integrare OpenAI / GCP EKM

Instrucțiuni pas cu pas pentru a configura GCP și a activa EKM

Actualizat: 3 days ago

Prezentare generală

Enterprise Key Management (EKM) permite OpenAI să cripteze date folosind o cheie principală pe care o controlați. Acest document arată cum să configurați contul dvs. GCP pentru a oferi OpenAI permisiuni limitate pe KMS-ul dvs.

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

Pași

1. Creați o identitate federată pentru OpenAI

OpenAI va emite un token de identitate dintr-un cont GCP deținut de OpenAI care arată aproximativ așa.

  • Valorile azp și sub sunt ID-ul contului de serviciu OpenAI în GCP

  • Valoarea aud este ID-ul organizației dvs. OpenAI. Puteți alege și o altă audiență, cum ar fi ID-ul proiectului dvs. OpenAI - vedeți instrucțiunile de mai jos

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Acest pas recunoaște revendicările făcute de acel token de identitate și permite GCP STS să emită un token de acces când este furnizat acel token de identitate.

  1. Accesați IAM & Admin -> Workload Identity Federation și faceți clic pe Create Pool

    GCP IAM & Admin with Workload Identity Federation selected
  2. La pasul Create an identity pool, introduceți orice pentru pool name.

    1. Rețineți acest lucru pentru mai târziu - va trebui să îl înregistrați la OpenAI

  3. La pasul Add a provider to pool:

    1. În Select a provider, selectați OpenID Connect (OIDC)

    2. Introduceți orice pentru provider name.

    3. În secțiunea Issuer (URL), introduceți https://accounts.google.com

    4. În secțiunea Audiences

      1. Selectați Allowed audiences

      2. Introduceți audiența pe care OpenAI ar trebui să o indice când vă transmitem un token.

        1. Pentru ChatGPT sau API: puteți introduce ID-ul organizației OpenAI API (org-xxx)

        2. Pentru API: puteți introduce un ID de proiect API specific pentru mai multă granularitate.

          GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
    5. În secțiunea Attribute mapping

      1. pentru google.subject introduceți assertion.sub

        Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
    6. În secțiunea Attribute conditions

      1. introduceți assertion.sub == "105900137572174660365"

  4. Acum ar trebui să vedeți workload identity pool și workload identity provider listate în pagina 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. Asigurați-vă că KMS este activat

Accesați https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview pentru a activa KMS. Nu este necesar să creați KMS-ul dvs. în același proiect GCP în care ați recunoscut identitatea federată a OpenAI; totuși, dacă proiectele diferă, produsul KMS trebuie cel puțin să fie activat în ambele proiecte.

3. Creați o nouă cheie KMS

  1. Accesați Security -> Data Protection > Key Management

  2. Sub fila Overview faceți clic pe Create key ring

    1. Alegeți orice nume pentru key ring

    2. Pentru Purpose and algorithm, selectați Symmetric encrypt/decrypt

      GCP Key Management Overview page with the Create Key Ring button highlighted
    3. După ce ați creat un key ring, acesta ar trebui să fie listat în fila Key Rings. Faceți clic pe key ring.

    4. În detaliile key ring, faceți clic pe Create Key

      1. Alegeți orice nume pentru cheia dvs.

4. Creați un rol limitat pentru operațiunile de criptare/decriptare pe KMS

  1. Accesați IAM & Admin -> Roles -> Create role

  2. Introduceți orice pentru titlul și ID-ul rolului

  3. Faceți clic pe Add Permissions, apoi adăugați următoarele

    1. cloudkms.cryptoKeyVersions.useToDecrypt

    2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Atribuiți identitatea federată a OpenAI rolului KMS limitat pentru operațiunile de criptare/decriptare

  1. Accesați Security -> Data Protection > Key Management

  2. Faceți clic pe numele key ring, apoi pe key name pentru a ajunge la pagina cu detaliile cheii.

    1. Dacă nu aveți aceasta, reveniți la secțiunea Create a KMS

  3. Faceți clic pe fila Permissions, apoi pe butonul Grant Access

    Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  4. Atribuiți identitatea federată OpenAI rolului personalizat creat anterior

    1. Pentru secțiunea Add principals, introduceți principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

      1. YOUR_GCP_PROJECT_NUMBER aici este proiectul în care ați recunoscut identitatea federată a OpenAI prin crearea unui YOUR_GCP_WORKLOAD_IDENTITY_POOL. Poate fi, dar nu este obligatoriu să fie, în același proiect în care se află KMS-ul dvs.

      2. Dacă proiectele diferă, asigurați-vă că KMS este cel puțin activat în celălalt proiect accesând https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview

    2. În secțiunea Assign roles, selectați rolul personalizat pe care l-ați creat în pasul anterior pentru permisiuni EKM limitate

6. Aplicați orice restricții suplimentare în conformitate cu propriile dvs. practici de securitate

Mai sus sunt informațiile minime necesare de care OpenAI are nevoie pentru a configura EKM. Puteți aplica politici sau restricții suplimentare pentru chei în conformitate cu propriile practici interne de securitate, atât timp cât OpenAI poate apela operațiunile de criptare și decriptare pe KMS-ul dvs. Când apelați punctul final de înregistrare a cheii la OpenAI descris mai jos, vom valida configurarea dvs.

După finalizarea pașilor de mai sus

ChatGPT Enterprise

Vă rugăm să contactați persoana dvs. de contact de la OpenAI și să transmiteți următoarele:

  • "workload_identity_project_number": "123456789012",

    • Numărul de proiect GCP din 12 cifre unde ați înregistrat identitatea de workload a OpenAI

  • "workload_identity_pool_id": "openai-azure",

    • Pool-ul care conține furnizorul Workload Identity pe care l-ați înregistrat pentru OpenAI

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

    • Furnizorul Workload Identity pe care l-ați înregistrat pentru OpenAI

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

    • Numele proiectului GCP unde se află KMS-ul dvs.

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

    • Numele cheii principale din Key Management System

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

    • Key ring-ul din Key Management System care conține cheia principală pe care o gestionați

  • "kms_key_location": "us-east1"

    • Regiunea în care se află cheia principală din Key Management System

Vom activa EKM pentru organizația/spațiul de lucru ChatGPT.

API

Înregistrați cheia dvs. externă la OpenAI

Urmați instrucțiunile din această referință API External Keys in the Management API

  • Mai întâi, înregistrați cheia externă la nivelul organizației OpenAI, ceea ce va genera un ID de cheie externă.

  • În acest pas, vom valida configurarea dvs. din GCP verificând că ne putem autentifica la KMS-ul dvs.

  • Acest lucru nu va adăuga încă EKM la proiectul dvs. OpenAI.

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 Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <ID-ul organizației sau ID-ul proiectului dvs.>,
   "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"
}'

Apoi, creați un proiect OpenAI asociat cu cheia externă. După aceasta, EKM este activat pentru proiectul dvs.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",

   "external_key_id": "extkey_xxxx"

}'

A fost util acest articol?