OpenAI

Anleitung zur OpenAI- / AWS-EKM-Integration

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

Aktualisiert: 4 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 AWS-Konto so einrichtest, dass OpenAI eingeschränkte Berechtigungen für dein KMS erhält.

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

Schritte

1. Neuen KMS-Schlüssel erstellen

  1. Gehe zu KMS -> Kundenseitig verwaltete Schlüssel, und klicke dann auf Schlüssel erstellen

  2. Wähle einen symmetrischen Verschlüsselungsalgorithmus aus

  3. Nachdem dein Schlüssel erstellt wurde, notiere dir seine ARN. Unterstützte Formate sind arn:aws:kms:<region>:<kontonummer>:key/<uuid>, ...:key/mrk-*, oder ...:alias/<alias_name>

    AWS KMS customer managed key details page with key ID and ARN for test-kms

2. Erstelle eine benutzerdefinierte Richtlinie für den eingeschränkten Zugriff auf den KMS-Schlüssel

  1. Navigiere zu IAM -> Richtlinien, und klicke dann auf Richtlinie erstellen.

  2. Wähle im Schritt Berechtigungen angeben JSON aus und gib Folgendes ein, um der Richtlinie KMS-Zugriffsaktionen zu gewähren. Stelle sicher, dass du DEIN_KMS_ARN durch die ARN des Schlüssels ersetzt, den du erstellt hast.

    AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AllowEncryptDecrypt",
                "Effect": "Allow",
                "Action": [

                    "kms:Decrypt",
                    "kms:Encrypt"

                ],
                "Resource": <YOUR_KMS_ARN>
            }
        ]
    }

3. Erstelle eine IAM-Rolle, die OpenAI übernehmen kann, und weise sie der Richtlinie mit eingeschränktem Zugriff auf dein KMS zu

OpenAI wird die Funktion AssumeRole von einem AWS-Konto, das OpenAI gehört, ausführen. In diesem Schritt wird anerkannt, dass der AWS Principal von OpenAI die eingeschränkte Rolle übernehmen kann, um auf dein KMS zuzugreifen.

  1. Navigiere zu IAM -> Rollen und klicke dann auf Rolle erstellen

  2. Wähle im Schritt Vertrauenswürdige Entität auswählen die Option Benutzerdefinierte Vertrauensrichtlinie

    aus

    AWS IAM Select trusted entity screen with Custom trust policy selected
  3. Gib Folgendes in die benutzerdefinierte Vertrauensrichtlinie ein, um Zugriff auf den AWS Principal von OpenAI zu gewähren.

    1. Der Principal ist der AWS Principal von OpenAI – arn:aws:iam::790389265272:role/EnterpriseKeyManagement

    2. Gib an, welche Externe ID OpenAI während des AssumeRole-Prozesses übergeben soll.

      1. Für ChatGPT oder die API kannst du die Organisations-ID (org-xxx) verwenden, die mit deinem Workspace verknüpft ist – https://platform.api.openai.org/settings/organization/general

      2. Für die API kannst du eine bestimmte API-Projekt-ID angeben, um eine feinere Granularität zu erreichen

        {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
                    },
                    "Action": "sts:AssumeRole",
                    "Condition": {
                        "StringEquals": {
                            "sts:ExternalId": [
                                 <YOUR_OPENAI_ORGANIZATION_ID>,
                             ]
                        }
                    }
                }
            ]
        }
  4. Suche im Schritt Berechtigungen hinzufügen nach dem Richtliniennamen der IAM-Richtlinie, die du im vorherigen Schritt erstellt hast. Klicke auf das Kontrollkästchen neben dem Richtliniennamen und dann auf Weiter.

    AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected
  5. Wähle im Abschnitt Benennen, Überprüfen und Erstellen einen beliebigen Rollennamen aus.

4. Wende zusätzliche Beschränkungen im Einklang mit deinen eigenen Sicherheitspraktiken an.

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:

  • "rolle_arn": "arn:aws:iam::<DEINE_AWS-KONTONUMMER>:rolle/<DEINE_ROLLE>",

    • Rollen-ARN, die OpenAI in deiner Cloud übernehmen wird

  • "kms_arn": "arn:aws:kms:<REGION>:<DEINE_AWS-KONTONUMMER>:key/<UUID>"

    • ARN des Schlüsselverwaltungssystems für den Hauptschlüssel, den du verwaltest

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

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

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

  3. 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": "aws",
      "name": "AWS EKM Config",
      "role_arn": "arn:aws:iam::<DEINE_AWS-KONTONUMMER>:role/<DEINE_ROLLE>",
      "kms_arn": "arn:aws:kms:<REGION>:<DEINE_AWS-KONTONUMMER>:key/<UUID>",
      "external_id": <deine Org-ID oder Projekt-ID>
    }'
  4. Erstelle dann ein OpenAI-Projekt, das dem externen Schlüssel zugeordnet ist. Danach ist EKM für dein Projekt aktiviert.

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

    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?