OpenAI

Anleitung zur OpenAI- / AWS-EKM-Integration

Schritt-für-Schritt-Anleitung zur Bereitstellung von AWS 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 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. Go zu KMS -> Customer managed keys, dann klicke auf Create Key.

  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>:<account_number>: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. Go zu IAM -> Richtlinien, 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 ruft AssumeRole von einem OpenAI-eigenen AWS-Konto auf. Dieser Schritt ermöglicht es dem AWS-Principal von OpenAI, die eingeschränkte Rolle zu übernehmen, um auf dein KMS zuzugreifen.

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

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

AWS IAM Select trusted entity screen with Custom trust policy selected

Gib als Nächstes Folgendes in die benutzerdefinierte Vertrauensrichtlinie ein, um Zugriff auf den AWS-Prinzipal von OpenAI zu gewähren.

  • Der AWS-Principal von OpenAI ist: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

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

{
    "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>,
                     ]
                }
            }
        }
    ]
}

Suche dann 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

Wähle abschließend 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:

  • "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"

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

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

    • Die ARN des Schlüsselverwaltungssystems für den von dir verwalteten Hauptschlüssel.

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 externe Schlüssel-ID 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>
}'

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

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?