OpenAI

Anleitung zur OpenAI-/GCP-EKM-Integration

Schritt-für-Schritt-Anleitung zur Bereitstellung von GCP und zur Aktivierung von EKM

Aktualisiert: 15 days ago

Überblick

Enterprise Key Management (EKM) ermöglicht es OpenAI, Daten mit einem Hauptschlüssel zu verschlüsseln, den du kontrollierst. Dieses Dokument zeigt, wie du dein GCP-Konto so einrichtest, dass OpenAI eingeschränkte Berechtigungen für dein KMS erhält.

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

Schritte

1. Eine Verbundidentität für OpenAI erstellen

OpenAI wird ein Token aus einem OpenAI-eigenen GCP-Konto ausstellen, das in etwa so aussieht.

  • Die azp- und sub-Werte sind die Dienstkonto-IDs von OpenAI in GCP.

  • Die AUD ist deine OpenAI-Organisations-ID. Du kannst auch eine andere Zielgruppe auswählen, z. B. deine OpenAI-Projekt-ID – siehe die Anweisungen unten.

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

In diesem Schritt werden die Ansprüche des Identitäts-Tokens anerkannt. Dein GCP STS kann ein Zugriffs-Token ausstellen, wenn dieses Identitäts-Token bereitgestellt wird.

  1. Gehe zu IAM & Admin -> Workload Identity Federation und klicke auf Pool erstellen

GCP IAM & Admin with Workload Identity Federation selected
  1. Gib unter Identitätspool erstellen einen beliebigen Poolnamen ein.

  1. Im Schritt Anbieter zu einem Connection-Pool hinzufügen:

  1. Wähle unter „Anbieter auswählen“ die Option OpenID Connect (OIDC)aus.

  2. Gib einen beliebigen Anbieternamen ein.

  3. Trage im Abschnitt Issuer (URL) https://accounts.google.com ein.

  4. Im Abschnitt Zielgruppen:

  1. Wähle Zulässige Zielgruppen aus.

  2. Gib die Zielgruppe ein, die OpenAI angeben soll, wenn wir dir ein Token übermitteln.

  1. Für ChatGPT oder die API: Du kannst die OpenAI-API-Organisations-ID (org-xxx) eingeben.

  2. Für die API: Für eine genauere Abstufung kannst du eine spezifische API-Projekt-ID angeben.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Im Abschnitt Attributzuordnung:

  1. Gib für google.subject den Wert assertion.sub ein

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Im Abschnitt Attributbedingungen:

  1. Nun solltest du deinen Workload-Identitätspool und deinen Workload-Identitätsprovider unter https://console.cloud.google.com/iam-admin/workload-identity-pools aufgelistet sehen. Seite

  1. Workload-Identitätspool-ID

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Workload-Identitätsanbieter-ID

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

2. Sicherstellen, dass KMS aktiviert ist

Go zu https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview um KS zu aktivieren. Du bist nicht dazu verpflichtet, deinen KMS im selben GCP-Projekt zu erstellen, in dem du die föderierte Identität von OpenAI eingerichtet hast. Falls sich die Projekte jedoch unterscheiden, muss das KMS-Produkt in beiden Projekten zumindest aktiviert sein.

3. Einen neuen KMS-Schlüssel erstellen

  1. Gehe zu Sicherheit -> Datenschutz > Schlüsselverwaltung

  2. Klicke unter dem Tab Überblick auf Schlüsselbund erstellen.

  1. Wähle einen beliebigen Namen für deinen Schlüsselbund.

  2. Wähle bei Zweck und Algorithmus die Option Symmetrische Verschlüsselung/Entschlüsselung

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Sobald du einen Schlüsselbund erstellt hast, sollte er im Tab Schlüsselbunde angezeigt werden. Klicke auf den Schlüsselbund.

  2. Klicke in den Details des Schlüsselbunds auf Schlüssel erstellen.

  1. Wähle einen beliebigen Namen für deinen Schlüssel aus.

4. Eine eingeschränkte Rolle für Verschlüsselungs-/Entschlüsselungsvorgänge im KMS erstellen

  1. Gehe zu IAM & Admin -> Rollen -> Rolle erstellen

  2. Gib für Rollenbezeichnung und ID beliebige Werte ein

  3. Klicke auf „Berechtigungen hinzufügen“ und füge anschließend Folgendes hinzu:

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Die föderierte Identität von OpenAI der eingeschränkten KMS-Rolle für Ver- und Entschlüsselungsvorgänge zuweisen

  1. Gehe zu Sicherheit -> Datenschutz > Schlüsselverwaltung

  2. Klicke auf den Namen deines Schlüsselbunds und dann auf den Namen deines Schlüssels, um zur Detailseite deines Schlüssels zu gelangen.

  1. Klicke auf den Tab Berechtigungen, und dann auf die Schaltfläche Zugriff gewähren

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Weise der föderierten Identität von OpenAI die benutzerdefinierte Rolle zu, die du zuvor erstellt hast.

  1. Gib im Abschnitt Hauptkonten hinzufügen Folgendes ein: principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Wähle im Abschnitt Rollen zuweisen die benutzerdefinierte Rolle aus, die du im vorherigen Schritt für eingeschränkte EKM-Berechtigungen erstellt hast.

6. Zsätzliche Einschränkungen im Einklang mit deinen eigenen Sicherheitspraktiken anwenden

Oben sind die Mindestinformationen aufgeführt, die OpenAI benötigt, um EKM einzurichten. Es steht dir frei, zusätzliche Schlüsselrichtlinien oder -einschränkungen im Einklang mit deinen eigenen internen Sicherheitspraktiken anzuwenden, solange OpenAI die Verschlüsselungs- und Entschlüsselungsvorgänge in deinem KMS aufrufen kann. Wenn du den unten beschriebenen Endpunkt für die Schlüsselregistrierung mit OpenAI aufrufst, überprüfen wir deine Einrichtung.

Nach Abschluss der oben genannten Schritte

ChatGPT Enterprise

Bitte wende dich an deine OpenAI-Ansprechperson und teile Folgendes mit:

  • "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"

  • Die Region, in der sich dein Hauptschlüssel des Schlüsselverwaltungssystems befindet

Wir werden EKM für deine ChatGPT-Organisation/deinen Workspace aktivieren.

API

Registriere deinen externen Schlüssel bei OpenAI

Befolge die Anweisungen in dieser API-Referenz Externe Schlüssel in der Management-API

  • Registriere zuerst deinen externen Schlüssel auf OpenAI-Organisationsebene, wodurch eine ID des externen Schlüssels generiert wird.

  • In diesem Schritt überprüfen wir deine Einrichtung in GCP, indem wir prüfen, ob wir uns bei deinem KMS authentifizieren können.

  • Dadurch wird EKM deinem OpenAI-Projekt noch nicht hinzugefügt.

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": <your org id or project 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"
}'

Erstelle dann ein OpenAI-Projekt, das dem externen Schlüssel zugeordnet ist. Danach ist EKM für dein Projekt aktiviert.

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"
}'

War dieser Artikel hilfreich?