OpenAI

OpenAI/Azure EKM – Integrationsanleitung

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

Aktualisiert: 4 days ago

Überblick

Enterprise Key Management (EKM) ermöglicht OpenAI, Daten mit einem Hauptschlüssel zu verschlüsseln, den du kontrollierst. Damit OpenAI Verschlüsselungs-/Entschlüsselungsvorgänge für deinen Key Vault ausführen kann, müssen wir Zugriff darauf erhalten. Dieses Dokument zeigt, wie du dein Azure-Konto so einrichtest, dass OpenAI eine Rolle mit Key-Vault-Berechtigungen übernehmen kann.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

Schritte

1. Erstelle in deinem Konto einen Service Principal für OpenAI

  1. Zugriffs-Token abrufen

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID

2. Erstelle den Service Principal – die App-ID in der folgenden Anforderung ist die Client-ID der Anwendung von OpenAI. Dadurch wird ein Principal mit dem Anzeigenamen „EKM – OpenAI Azure“ erstellt – merke dir dies für spätere Schritte.

OpenAI/Azure EKM – Integrationsanleitung – Service Principal erstellen

curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'

2. Erstelle eine benutzerdefinierte Rolle für eingeschränkten KMS-Zugriff

  1. Gehe zu Abonnements -> Zugriffskontrolle (IAM)

  2. Wähle im Dropdown-Menü + Hinzufügen die Option Benutzerdefinierte Rolle hinzufügen aus

  3. Gehe zum Tab JSON, klicke auf Bearbeiten und füge Folgendes hinzu:

    1. Beliebiger Rollenname – merke dir den ausgewählten Namen

    2. Die folgenden Berechtigungen in dataActions

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

        OpenAI / Azure EKM Integration Instructions Custom Role

3. Erstelle einen Key Vault + Schlüssel

Falls du noch keinen hast, erstelle einen neuen Key Vault im selben Abonnement , in dem du gerade deine benutzerdefinierte Rolle erstellt hast

Erstelle in diesem Key Vault einen neuen Schlüssel:

  1. Gehe zu Key Vault -> Objekte -> Schlüssel, klicke dann auf Generieren/Importieren

  2. Unter Optionen wähle die Option Generieren aus

    Azure Key Vault Keys page with Generate/Import highlighted to add a key
  3. Wähle RSA als Verschlüsselungsalgorithmus aus.

  4. Du kannst eine beliebige RSA-Schlüsselgröße auswählen

  5. Gib einen Schlüsselnamen im folgenden Format an: <org-xxx>--<any_name>, wobei org-xxx deine OpenAI-Organisations-ID ist, die du unter https://platform.openai.com/settings/organization/general finden kannst

    Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

Wenn du keinen Schlüssel anzeigen oder erstellen kannst, stelle sicher, dass du über die Rolle Key Vault Administrator verfügst. Dies ist auch dann erforderlich, wenn du die Rolle „Eigentümer“ innehast. Die Rolle zugewiesen bekommen:

  1. Gehe zu Key Vault -> Zugriffskontrolle (IAM)

  2. Klicke auf Hinzufügen -> Rollenzuweisung hinzufügen

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. Erstelle eine Rollenzuweisung für den OpenAI Service Principal + neues benutzerdefiniertes KMS + neuen Schlüssel

  1. Gehe zu Key Vault -> Objekte -> Schlüssel und klicke dann auf die Zeile für den Schlüssel, den du erstellt hast

  2. Gehe zu Zugriffskontrolle (IAM) für den Schlüssel, auf den du gerade geklickt hast (nicht zu deinem Schlüsseltresor).

  3. Wähle im Dropdown-Menü + Hinzufügen und dann Rollenzuweisung hinzufügen aus

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. Wähle im Tab Rolle den Namen der benutzerdefinierten Rolle aus, die du gerade erstellt hast.

    Azure role list filtered for openai- with the openai-azure-kms-role entry
  5. Im Bereich Mitglieder:

    1. Klicke auf „+ Mitglieder auswählen“

    2. Gib „ekm -“ in die Suchleiste ein, dann sollte der OpenAI Service Principal, den du in Schritt 1 erstellt hast, geladen werden

      Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

5. Wende zusätzliche Einschränkungen im Einklang mit deinen eigenen Sicherheitspraktiken an

Oben sind die erforderlichen Mindestangaben 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:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

    • Deine Azure-Mandanten-UUID

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

    • Der URI des Azure-Tresors, der den Hauptschlüssel enthält, den du verwaltest

  • "key_name": "<YOUR_KEY_NAME>"

    • Der Name des Azure Key Vault Hauptschlüssels, den du verwaltest

    • Der Schlüsselname muss das Format <org-xxx>--<any_name> haben, wobei org-xxx deine OpenAI-Organisations-ID ist, die du unter https://platform.openai.com/settings/organization/general finden kannst

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 zunächst deinen externen Schlüssel auf OpenAI-Organisationsebene, wodurch eine externe Schlüssel-ID im Format extkey_xxx generiert wird

  • In diesem Schritt überprüfen wir, ob deine Eingabe gültig ist und ob wir uns bei deinem KMS authentifizieren können.

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

# Dies generiert eine externe Schlüssel-ID im Format extkey_xxx

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
  "type": "azure",
  "name": "<ANY_FRIENDLY_NAME>",
  "tenant_id": "<YOUR_AZURE_TENANT_UUID>",
  "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
  "key_name": "<YOUR_KEY_NAME>"
}'
  • Erstelle dann ein OpenAI-Projekt, das dem externen Schlüssel zugeordnet ist. Danach ist EKM für dein Projekt aktiviert.

  • Der Antworttext dieses API-Aufrufs enthält die Projekt-ID (proj_xxx)

    OpenAI/Azure EKM –Integrationsanweisungen – Projekt erstellen

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?