Ü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.
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:
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
Workload-Identitätspool-ID

Workload-Identitätsanbieter-ID

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