OpenAI
Ez az oldal gépi fordítással készült. Tekintsd meg az eredeti angol nyelvű cikket.

OpenAI / GCP EKM integrációs útmutató

Lépésről lépésre útmutató a GCP üzembe helyezéséhez és az EKM aktiválásához

Frissítve: 13 days ago

Áttekintés

Az Enterprise Key Management (EKM) lehetővé teszi, hogy az OpenAI egy általad kezelt főkulccsal titkosítsa az adatokat. Ez a dokumentum bemutatja, hogyan állítsd be a GCP-fiókodat úgy, hogy az OpenAI korlátozott jogosultságokat kapjon a KMS-edhez.

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

Lépések

1. Hozz létre egy federált identitást az OpenAI számára

Az OpenAI egy OpenAI tulajdonában lévő GCP-fiókból fog kiállítani egy identitástokent, amely nagyjából így néz ki.

  • Az azp és a sub az OpenAI szolgáltatásfiók-azonosítója a GCP-ben

  • Az aud a te OpenAI-szervezetazonosítód. Más közönséget is megadhatsz, például az OpenAI-projektazonosítódat – lásd az alábbi utasításokat

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

Ez a lépés felismeri az identitástoken által tett állításokat, és lehetővé teszi, hogy a GCP STS hozzáférési tokent bocsásson ki, amikor ezt az identitástokent megadják.

  1. Lépj az IAM & Admin -> Workload Identity Federation menübe, majd kattints a Create Pool

    lehetőségre

    GCP IAM & Admin with Workload Identity Federation selected
  2. A Create an identity pool lépésben adj meg bármit a pool name mezőben.

    1. Ezt jegyezd meg későbbre – regisztrálnod kell majd az OpenAI-nál

  3. A Add a provider to pool lépésben:

    1. A Select a provider résznél válaszd az OpenID Connect (OIDC) lehetőséget

    2. Adj meg bármit a provider name mezőben.

    3. A Issuer (URL) részben add meg ezt: https://accounts.google.com

    4. Az Audiences részben

      1. Válaszd az Allowed audiences lehetőséget

      2. Add meg azt az audience értéket, amelyet az OpenAI-nak jeleznie kell, amikor tokent adunk át neked.

        1. ChatGPT vagy API esetén: megadhatod az OpenAI API organization ID-t (org-xxx)

        2. API esetén: a részletesebb szabályozhatóság érdekében megadhatsz egy konkrét API project id-t.

          GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
    5. Az Attribute mapping részben

      1. a google.subject mezőhöz add meg ezt: assertion.sub

        Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
    6. Az Attribute conditions részben

      1. add meg ezt: assertion.sub == "105900137572174660365"

  4. Ekkor a https://console.cloud.google.com/iam-admin/workload-identity-pools oldalon már látnod kell a workload identity pool és a workload identity provider elemeidet

    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. Győződj meg róla, hogy a KMS engedélyezve van

Lépj a https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview oldalra a KMS engedélyezéséhez. Nem kötelező ugyanabban a GCP-projektben létrehoznod a KMS-edet, ahol felismerted az OpenAI federált identitását; ha azonban a projektek eltérnek, akkor a KMS terméknek legalább mindkét projektben engedélyezve kell lennie.

3. Hozz létre egy új KMS-kulcsot

  1. Lépj a Security -> Data Protection > Key Management menübe

  2. Az Overview fülön kattints a Create key ring lehetőségre

    1. Válassz tetszőleges nevet a kulcsgyűrűnek

    2. A Purpose és algorithm résznél válaszd a Symmetric encrypt/decrypt

      lehetőséget

      GCP Key Management Overview page with the Create Key Ring button highlighted
    3. Miután létrehoztál egy kulcsgyűrűt, annak meg kell jelennie a Key Rings fülön. Kattints a kulcsgyűrűre.

    4. A kulcsgyűrű részleteinél kattints a Create Key lehetőségre

      1. Válassz tetszőleges nevet a kulcsodnak

4. Hozz létre egy korlátozott szerepkört a KMS-en végzett titkosítási/visszafejtési műveletekhez

  1. Lépj az IAM & Admin -> Roles -> Create role menübe

  2. Adj meg bármit a szerepkör címéhez és azonosítójához

  3. Kattints az Add Permissions lehetőségre, majd add hozzá a következőket

    1. cloudkms.cryptoKeyVersions.useToDecrypt

    2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Rendeld hozzá az OpenAI federált identitását a korlátozott KMS-szerepkörhöz a titkosítási/visszafejtési műveletekhez

  1. Lépj a Security -> Data Protection > Key Management menübe

  2. Kattints a key ring nevére, majd a key name elemre, hogy eljuss a kulcs részleteit tartalmazó oldalra.

    1. Ha ez nincs meg, menj vissza a Create a KMS szakaszhoz

  3. Kattints a Permissions fülre, majd a Grant Access

    gombra

    Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  4. Rendeld hozzá az OpenAI federált identitását az előzőleg létrehozott egyéni szerepkörhöz

    1. Az Add principals részben add meg ezt: principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

      1. A YOUR_GCP_PROJECT_NUMBER itt az a projekt, amelyben felismerted az OpenAI federált identitását egy YOUR_GCP_WORKLOAD_IDENTITY_POOL létrehozásával. Lehet ugyanaz a projekt, amelyben a KMS-ed található, de nem kötelező annak lennie.

      2. Ha a projektek eltérnek, győződj meg róla, hogy a KMS legalább engedélyezve van a másik projektben is, ehhez lépj a https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview oldalra

    2. Az Assign roles részben válaszd ki az előző lépésben létrehozott egyéni szerepkört a korlátozott EKM-jogosultságokhoz

6. Alkalmazz minden további korlátozást a saját biztonsági gyakorlataidnak megfelelően

A fentiek az OpenAI számára szükséges minimális információk az EKM beállításához. Szabadon alkalmazhatsz további kulcsszabályzatokat vagy korlátozásokat a saját belső biztonsági gyakorlataid szerint, amennyiben az OpenAI képes meghívni a titkosítási és visszafejtési műveleteket a KMS-eden. Amikor meghívod az OpenAI-nál az alább ismertetett kulcsregisztrációs végpontot, ellenőrizni fogjuk a beállításodat.

A fenti lépések elvégzése után

ChatGPT Enterprise

Kérjük, vedd fel a kapcsolatot az OpenAI-kapcsolattartóddal, és oszd meg a következőket:

  • "workload_identity_project_number": "123456789012",

    • Az a 12 számjegyű GCP-projektszám, ahol regisztráltad az OpenAI workload identityját

  • "workload_identity_pool_id": "openai-azure",

    • Az a pool, amely az OpenAI számára regisztrált Workload Identity providert tartalmazza

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

    • Az OpenAI számára regisztrált Workload Identity provider

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

    • Annak a GCP-projektnek a neve, ahol a KMS-ed található

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

    • A Key Management System főkulcsának neve

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

    • Az a Key Management System kulcsgyűrű, amely az általad kezelt főkulcsot tartalmazza

  • "kms_key_location": "us-east1"

    • Az a régió, ahol a Key Management System főkulcsa található

Engedélyezzük az EKM-et a ChatGPT-szervezetedhez/munkaterületedhez.

API

Regisztráld a külső kulcsodat az OpenAI-nál

Kövesd az ebben az API-referenciában található utasításokat: External Keys in the Management API

  • Először regisztráld a külső kulcsodat az OpenAI-szervezet szintjén, ami létrehoz egy external key id-t.

  • Ebben a lépésben a GCP-n végzett beállításodat úgy ellenőrizzük, hogy megvizsgáljuk, tudunk-e hitelesíteni a KMS-edhez.

  • Ez még nem adja hozzá az EKM-et az OpenAI-projektedhez.

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": <az orgazonosítód vagy projektazonosítód>,
   "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"
}'

Ezután hozz létre egy, a külső kulcshoz társított OpenAI-projektet. Ezt követően az EKM aktiválódik a projekteden.

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"

}'

Hasznos volt ez a cikk?