OpenAI

Istruzioni per l'integrazione OpenAI / Azure EKM

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

Aggiornato: 13 days ago

Panoramica

Enterprise Key Management (EKM) consente a OpenAI di crittografare i dati utilizzando una chiave principale controllata da te. Affinché OpenAI possa eseguire operazioni di crittografia/decrittografia sul tuo Key Vault, dovrà esserci concesso l'accesso. Questo documento mostra come configurare il tuo account Azure affinché OpenAI possa assumere un ruolo con le autorizzazioni di Key Vault.

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

Passaggi

1. Crea un principal del servizio per OpenAI nel tuo account

  1. Ottieni un token di accesso

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

2. Crea il principal del servizio: l'appId nella richiesta seguente è l'ID client dell'applicazione di OpenAI. Questo creerà un principal con il nome visualizzato “EKM - OpenAI Azure”: ricordalo per i passaggi successivi.

Istruzioni per l'integrazione OpenAI / Azure EKM - Creare il principal del servizio

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. Crea un ruolo personalizzato per l'accesso limitato a KMS

  1. Vai su Abbonamenti -> Controllo degli accessi (IAM)

  2. Nel menu a discesa + Aggiungi, seleziona Aggiungi ruolo personalizzato

  3. Vai alla scheda JSON, clicca su Modifica e aggiungi quanto segue

    1. Qualsiasi nome ruolo: ricorda il nome che hai selezionato

    2. Le seguenti autorizzazioni 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. Crea un Key Vault + chiave

Se non ne hai già uno, crea un nuovo Key Vault nella stessa sottoscrizione in cui hai appena creato il tuo ruolo personalizzato

In quel Key Vault, crea una nuova chiave:

  1. Vai su Key Vault -> Oggetti -> Chiavi, quindi clicca su Genera/Importa

  2. In Opzioni seleziona Genera

    Azure Key Vault Keys page with Generate/Import highlighted to add a key
  3. Seleziona RSA come algoritmo di crittografia.

  4. Puoi selezionare qualsiasi dimensione della chiave RSA

  5. Fornisci un nome della chiave nel seguente formato: <org-xxx>--<any_name>, dove org-xxx è il tuo ID organizzazione OpenAI che puoi trovare su https://platform.openai.com/settings/organization/general

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

Se non riesci a visualizzare o creare una chiave, assicurati di avere il ruolo Amministratore di Key Vault. Questo è necessario anche se hai il ruolo di Proprietario. Per essere assegnato il ruolo:

  1. Vai su Key Vault -> Controllo degli accessi(IAM)

  2. Clicca su Aggiungi -> Aggiungi assegnazione di ruolo

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

4. Crea un'assegnazione di ruolo per il principal del servizio di OpenAI + nuovo KMS personalizzato + nuova chiave

  1. Vai su Key Vault -> Oggetti -> Chiavi, quindi clicca sulla riga della chiave che hai creato

  2. Vai su Controllo degli accessi (IAM) per la tua chiave su cui hai appena cliccato (non sul tuo key vault).

  3. Nel menu a discesa + Aggiungi, seleziona Aggiungi assegnazione di ruolo

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. Nella scheda Ruolo, seleziona il nome del ruolo personalizzato che hai appena creato.

    Azure role list filtered for openai- with the openai-azure-kms-role entry
  5. Nella scheda membri:

    1. Clicca su “+ Seleziona membri”

    2. Digita “ekm -” nella barra di ricerca per caricare il principal del servizio di OpenAI creato nella passaggio 1

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

5. Applica eventuali restrizioni aggiuntive 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:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

    • L'UUID del tuo tenant di Azure

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

    • L'URI dell'insieme di credenziali di Azure che contiene la chiave principale che gestisci

  • "key_name": "<YOUR_KEY_NAME>"

    • Il nome della chiave principale di Azure Key Vault che gestisci

    • Il nome della chiave deve avere il formato <org-xxx>--<any_name>, dove org-xxx è l'ID organizzazione OpenAI. Puoi trovarlo su https://platform.openai.com/settings/organization/general

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

  • Per prima cosa, registra la tua chiave esterna a livello di organizzazione OpenAI, che genererà un ID chiave esterna nel formato extkey_xxx

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

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

# Questo genera un ID di chiave esterna della forma 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>"
}'
  • 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 progetto (proj_xxx)

    Istruzioni per l'integrazione OpenAI / Azure EKM - Creare un progetto

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?