Prezentare generală
Enterprise Key Management (EKM) permite OpenAI să cripteze date folosind o cheie principală pe care o controlați. Pentru ca OpenAI să poată apela operațiunile de criptare/decriptare din Key Vault-ul dvs., va trebui să ni se acorde acces. Acest document arată cum să vă configurați contul Azure astfel încât OpenAI să poată asuma 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_ID2. Creați principalul de serviciu - appId din cererea de mai jos este ID-ul de client al aplicației OpenAI. Acest lucru va crea un principal cu numele afișat „EKM - OpenAI Azure” - rețineți acest lucru 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 Subscriptions -> Access Control (IAM)
În meniul derulant + Add , selectați Add custom role
Accesați fila JSON, faceți clic pe Edit și adăugați următoarele
Orice nume de rol - rețineți numele selectat
Următoarele permisiuni în dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

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

Selectați RSA ca algoritm de criptare.
Puteți selecta orice dimensiune a cheii RSA
Furnizați un nume de cheie cu următorul format: <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

Dacă nu puteți vedea sau crea o cheie, asigurați-vă că aveți rolul Key Vault Administrator. Acesta este necesar chiar dacă aveți rolul Owner. Pentru a vi se atribui rolul:
Accesați Key Vault->Access Control (IAM)
Faceți clic pe Add-> Add role assignment

4. Creați o atribuire de rol pentru principalul de serviciu OpenAI + noul KMS personalizat + noua cheie
Accesați Key Vault -> Objects -> Keys apoi faceți clic pe rândul pentru cheia pe care ați creat-o
Accesați Access control (IAM) pentru cheia pe care tocmai ați selectat-o (nu pentru key vault-ul dvs.).
În meniul derulant + Add, selectați Add role assignment

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

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

5. Aplicați orice restricții suplimentare în conformitate cu propriile dvs. practici de securitate
Mai sus sunt informațiile minime necesare de care OpenAI are nevoie pentru a configura EKM. Sunteți liber să aplicați politici de chei sau restricții suplimentare în conformitate cu propriile practici interne de securitate, atât timp cât OpenAI poate apela operațiunile de criptare și decriptare pe KMS-ul dvs. Când apelați punctul final de înregistrare a cheii la OpenAI descris mai jos, vom valida configurația dvs.
După finalizarea pașilor de mai sus
ChatGPT Enterprise
Vă rugăm să contactați persoana de contact OpenAI și să transmiteți următoarele:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
UUID-ul tenantului dvs. Azure
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
URI-ul seifului Azure care conține cheia principală pe care o gestionați
"key_name": "<YOUR_KEY_NAME>"
Numele cheii principale din 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.
Acest lucru nu va adăuga încă EKM la proiectul dvs. OpenAI.
# Acest lucru generează un ID de cheie externă de 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>"
}'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 oferi ID-ul proiectului (proj_xxx)
Instrucțiuni de integrare OpenAI / Azure EKM - Creați proiect
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"
}'