Prezentare generală
Enterprise Key Management (EKM) permite OpenAI să cripteze datele folosind o cheie principală pe care o controlați. Pentru ca OpenAI să poată apela operațiuni de criptare/decriptare în Key Vault, va trebui să ni se acorde acces. Acest document arată cum să configurați contul dvs. Azure astfel încât OpenAI să poată prelua un rol cu permisiuni Key Vault.

Pași
1. Creați un principal de serviciu pentru OpenAI în contul dvs.
Obțineți un token de acces
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDCreați principalul de serviciu - appId din solicitarea de mai jos este id-ul clientului aplicației OpenAI. Aceasta va crea un principal cu numele afișat „EKM - OpenAI Azure” - rețineți-l pentru pașii următori.
Instrucțiuni de integrare OpenAI / Azure EKM - Creați principalul de serviciu
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ți un rol personalizat pentru acces KMS limitat
Accesați Abonamente -> Control acces (IAM)
În meniul derulant + Adăugați, selectați Adăugați rol personalizat
Accesați fila JSON, faceți clic pe Editați și adăugați următoarele:
Orice nume de rol - rețineți numele pe care l-ați selectat
Următoarele permisiuni în dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. Creați un Key Vault + o cheie
Dacă nu aveți deja unul, creați un Key Vault nou în același abonament în care tocmai ați creat rolul personalizat.
În acel Key Vault, creați o cheie nouă:
Accesați Key Vault -> Obiecte -> Chei, apoi faceți clic pe Generare/Import
Sub Opțiuni, selectați Generare

Selectați RSA pentru algoritmul de criptare.
Puteți selecta orice dimensiune de cheie RSA
Furnizați un nume de cheie cu următorul format:
<org-xxx>--<any_name>, undeorg-xxxeste ID-ul organizației dvs. OpenAI, pe care îl puteți găsi la https://platform.openai.com/settings/organization/general

Dacă nu puteți vizualiza sau crea o cheie, asigurați-vă că aveți rolul Administrator Key Vault. Acest lucru este necesar chiar dacă aveți rolul Proprietar. Pentru a vi se atribui rolul:
Accesați Key Vault -> Control acces (IAM)
Faceți clic pe Adăugați -> Adăugați atribuire de rol

4. Creați o atribuire de rol pentru principalul de serviciu OpenAI + noul KMS personalizat + noua cheie
Accesați Key Vault -> Obiecte -> Chei, apoi faceți clic pe rândul cheii pe care ați creat-o
Accesați Control acces (IAM) pentru cheia pe care tocmai ați selectat-o (nu seiful dvs. de chei).
În meniul derulant + Adăugați, selectați Adăugați atribuire de rol

În fila Rol, selectați numele rolului personalizat pe care tocmai l-ați creat.

În fila Membri:
Faceți clic pe „+ Selectați membri”
Tastați „ekm -” în bara de căutare, apoi ar trebui să se încarce principalul de serviciu OpenAI pe care l-ați creat la Pasul 1

5. Aplicați orice restricții suplimentare în conformitate cu propriile practici de securitate
Mai sus se află informațiile minime necesare de care OpenAI are nevoie pentru a configura EKM. Puteți aplica politici sau restricții suplimentare pentru chei în conformitate cu propriile practici interne de securitate, atât timp cât OpenAI poate apela operațiuni de criptare și decriptare în KMS-ul dvs. Când apelați punctul final de înregistrare a cheii cu OpenAI descris mai jos, vom valida configurarea dvs.
După finalizarea pașilor de mai sus
ChatGPT Enterprise
Contactați persoana dvs. de contact de la OpenAI și partajați următoarele:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
Numele cheii principale Azure Key Vault pe care o gestionați
Numele cheii trebuie să aibă forma <org-xxx>--<any_name>, unde org-xxx este ID-ul organizației dvs. OpenAI, pe care îl puteți găsi la https://platform.openai.com/settings/organization/general
Vom activa EKM pentru organizația/spațiul dvs. de lucru ChatGPT.
API
Înregistrați cheia externă la OpenAI
Urmați instrucțiunile din această referință API Chei externe în Management API
Mai întâi, înregistrați cheia externă la nivelul organizației OpenAI, ceea ce va genera un id de cheie externă de forma extkey_xxx
În acest pas, vom valida că datele introduse sunt valide și că ne putem autentifica la KMS-ul dvs.
Aceasta nu va adăuga încă EKM la proiectul dvs. OpenAI.
# This generates an external key ID of the form 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>"
}'Apoi, creați un proiect OpenAI asociat cu cheia externă. După aceasta, EKM este activat pentru proiectul dvs.
Corpul răspunsului acestui apel API vă va furniza ID-ul proiectului (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"
}'