Ü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.

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.
Gehe zu IAM & Admin -> Workload Identity Federation und klicke auf Pool erstellen

Gib unter Identitätspool erstellen einen beliebigen Poolnamen ein.
Merke dir diesen für später – du musst ihn bei OpenAI registrieren.
Im Schritt Anbieter zu einem Connection-Pool hinzufügen:
Wähle unter „Anbieter auswählen“ die Option OpenID Connect (OIDC)aus.
Gib einen beliebigen Anbieternamen ein.
Trage im Abschnitt Issuer (URL) https://accounts.google.com ein.
Im Abschnitt Zielgruppen:
Wähle Zulässige Zielgruppen aus.
Gib die Zielgruppe ein, die OpenAI angeben soll, wenn wir dir ein Token übermitteln.
Für ChatGPT oder die API: Du kannst die OpenAI-API-Organisations-ID (org-xxx) eingeben.
Für die API: Für eine genauere Abstufung kannst du eine spezifische API-Projekt-ID angeben.

Im Abschnitt Attributzuordnung:
Gib für google.subject den Wert assertion.sub
ein.
Im Abschnitt Attributbedingungen:
Trage dort Folgendes ein:
assertion.sub == "105900137572174660365"
Nun solltest du den Workload-Identitätspool und deinen Workload-Identity-Provider unter https://console.cloud.google.com/iam-admin/workload-identity-pools aufgelistet sehen. Seite
Workload-Identitätspool-ID

Workload-Identitätsanbieter-ID

2. Sicherstellen, dass KMS aktiviert ist
Gehe 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
Gehe zu Sicherheit -> Datenschutz > Schlüsselverwaltung
Klicke unter dem Tab Überblick auf Schlüsselbund erstellen.
Wähle einen beliebigen Namen für deinen Schlüsselbund.
Wähle bei Zweck und Algorithmus die Option Symmetrische Verschlüsselung/Entschlüsselung.

Sobald du einen Schlüsselbund erstellt hast, sollte er im Tab Schlüsselbunde angezeigt werden. Klicke auf den Schlüsselbund.
Klicke in den Details des Schlüsselbunds auf Schlüssel erstellen.
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
Gehe zu IAM & Admin -> Rollen -> Rolle erstellen
Gib für Rollenbezeichnung und ID beliebige Werte ein
Klicke auf „Berechtigungen hinzufügen“ und füge anschließend Folgendes hinzu:
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Die föderierte Identität von OpenAI der eingeschränkten KMS-Rolle für Ver- und Entschlüsselungsvorgänge zuweisen
Gehe zu Sicherheit -> Datenschutz > Schlüsselverwaltung
Klicke auf den Namen deines Schlüsselbunds und dann auf den Namen deines Schlüssels, um zur Detailseite deines Schlüssels zu gelangen.
Falls du diese noch nicht hast, gehe zurück zum Abschnitt KMS erstellen
Klicke auf den Tab Berechtigungen, und dann auf die Schaltfläche Zugriff gewähren.

Weise der föderierten Identität von OpenAI die benutzerdefinierte Rolle zu, die du zuvor erstellt hast.
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
YOUR_GCP_PROJECT_NUMBER bezieht sich hier auf das Projekt, in dem du die föderierte Identität von OpenAI durch das Erstellen eines YOUR_GCP_WORKLOAD_IDENTITY_POOL hinterlegt hast. Es kann im selben Projekt liegen, in dem sich dein KMS befindet, muss es aber nicht.
Falls die Projekte voneinander abweichen, stelle sicher, dass KMS im anderen Projekt zumindest aktiviert ist, indem du folgende Seite aufrufst: https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview.
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"
Die 12-stellige GCP-Projektnummer, unter der du die Workload-Identität von OpenAI registriert hast
"workload_identity_pool_id": "openai-azure"
Der Pool, der den Workload-Identitätsanbieter enthält, den du für OpenAI registriert hast
"workload_identity_provider_id": "openai-ekm-service-role"
Der Workload Identitätsanbieter, den du für OpenAI registriert hast
"kms_project_id": "adjective-noun-12345"
Der Name des GCP-Projekts, in dem sich dein KMS befindet
"kms_key_name": "openai-kms-key"
Der Name des Master-Keys im Schlüsselverwaltungssystem
"kms_key_ring_name": "openai-kms-key-ring",
Der Schlüsselbund des Schlüsselverwaltungssystems, der den Hauptschlüssel enthält, den du verwaltest
"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 und deinen ChatGPT-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 in deinem 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"
}'