OpenAI

Istruzioni per l'integrazione OpenAI / AWS EKM

Istruzioni passo dopo passo per il provisioning di AWS e l'attivazione di EKM

Aggiornato: 15 hours ago

Panoramica

Enterprise Key Management (EKM) consente a OpenAI di crittografare i dati utilizzando una chiave principale controllata da te. Questo documento mostra come configurare il tuo account AWS per concedere a OpenAI autorizzazioni limitate sul tuo KMS.

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

Passaggi

1. Crea una nuova chiave KMS

  1. Vai in KMS -> Chiavi gestite dal cliente, quindi clicca su Crea chiave.

  2. Seleziona un algoritmo di crittografia simmetrica

  3. Dopo che la chiave è stata creata, annota il relativo ARN. I formati supportati includono arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-*, oppure ...:alias/<alias_name>.

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

2. Crea una policy personalizzata per l'accesso limitato alla chiave KMS

  1. Vai in IAM -> Policies, quindi clicca su Crea Policy.

  2. Nel passaggio Specifica autorizzazioni, seleziona JSON e immetti quanto segue per concedere alla policy le azioni di accesso KMS. Assicurati di sostituire YOUR_KMS_ARN con l'ARN della chiave che hai creato.

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. Crea un ruolo IAM che OpenAI possa assumere e assegnalo alla policy con accesso limitato al tuo KMS

OpenAI effettuerà una chiamata ad AssumeRole da un account AWS di proprietà di OpenAI. Questo passaggio consente al principal AWS di OpenAI di assumere il ruolo limitato per accedere al tuo KMS.

  1. Vai in IAM -> Ruoli, quindi clicca su Crea ruolo.

  2. Nel passaggio Seleziona entità attendibile, seleziona policy di attendibilità personalizzata.

AWS IAM Select trusted entity screen with Custom trust policy selected

Quindi, inserisci quanto segue nella policy di attendibilità personalizzata per consentire l'accesso al principal AWS di OpenAI.

  • L'entità principale è il principal AWS di OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Indica quale ExternalId deve OpenAI fornire durante il processo AssumeRole.

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

Quindi, nel passaggio Aggiungi autorizzazioni, cerca il nome della policy IAM che hai creato nel passaggio precedente. Seleziona la casella di controllo accanto al nome della policy, quindi clicca su Avanti.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

Infine, nella sezione Nome, rivedi e crea, seleziona qualsiasi nome di ruolo.

4. Applica eventuali ulteriori restrizioni in linea con le tue pratiche di sicurezza.

Di seguito trovi le informazioni minime richieste di cui OpenAI ha bisogno per configurare EKM. Puoi applicare ulteriori policy o restrizioni relative alle chiavi in linea con le tue pratiche di sicurezza interne, purché OpenAI sia in grado di chiamare le operazioni di crittografia e decrittografia sul tuo KMS. Quando chiami, con OpenAI, l'endpoint di registrazione della chiave descritto di seguito, verificheremo la tua configurazione.

Dopo aver completato i passaggi sopra indicati

ChatGPT Enterprise

Contatta il tuo referente OpenAI e condividi le seguenti informazioni:

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

    • Il ruolo ARN che OpenAI assumerà nel tuo cloud.

  • "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"

    • L'ARN del sistema di gestione delle chiavi per la chiave principale che gestisci.

Attiveremo EKM per la tua organizzazione o area di lavoro ChatGPT.

API

Registra la tua chiave esterna con OpenAI

Segui le istruzioni in questa guida API: Chiavi esterne nell'API di gestione.

  1. Per prima cosa, registra la tua chiave esterna a livello dell'organizzazione OpenAI, che genererà un ID chiave esterna.

  2. In questo passaggio, verificheremo che i dati immessi siano validi e che sia possibile autenticarci al tuo KMS.

  3. Questo non aggiungerà ancora EKM al tuo progetto OpenAI.

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::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
  "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
  "external_id": <your org id or project id>
}'

Quindi, crea un progetto OpenAI associato alla chiave esterna. Dopo questa operazione, EKM viene attivato sul tuo progetto. Il corpo della risposta di questa chiamata API ti fornirà l'ID del progetto (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"
}'

Questo articolo è stato utile?