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.

Passaggi
1. Crea un principal del servizio per OpenAI nel tuo account
Ottieni un token di accesso
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. 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
Vai su Abbonamenti -> Controllo degli accessi (IAM)
Nel menu a discesa + Aggiungi, seleziona Aggiungi ruolo personalizzato
Vai alla scheda JSON, clicca su Modifica e aggiungi quanto segue
Qualsiasi nome ruolo: ricorda il nome che hai selezionato
Le seguenti autorizzazioni in dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

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:
Vai su Key Vault -> Oggetti -> Chiavi, quindi clicca su Genera/Importa
In Opzioni seleziona Genera

Seleziona RSA come algoritmo di crittografia.
Puoi selezionare qualsiasi dimensione della chiave RSA
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

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:
Vai su Key Vault -> Controllo degli accessi(IAM)
Clicca su Aggiungi -> Aggiungi assegnazione di ruolo

4. Crea un'assegnazione di ruolo per il principal del servizio di OpenAI + nuovo KMS personalizzato + nuova chiave
Vai su Key Vault -> Oggetti -> Chiavi, quindi clicca sulla riga della chiave che hai creato
Vai su Controllo degli accessi (IAM) per la tua chiave su cui hai appena cliccato (non sul tuo key vault).
Nel menu a discesa + Aggiungi, seleziona Aggiungi assegnazione di ruolo

Nella scheda Ruolo, seleziona il nome del ruolo personalizzato che hai appena creato.

Nella scheda membri:
Clicca su “+ Seleziona membri”
Digita “ekm -” nella barra di ricerca per caricare il principal del servizio di OpenAI creato nella passaggio 1

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"
}'