Pregled
Enterprise Key Management (EKM) omogućava OpenAI-u da šifrira podatke koristeći glavni ključ kojim vi upravljate. Da bi OpenAI mogao pozivati operacije šifriranja/dešifriranja na vašem Key Vaultu, morat ćemo dobiti pristup. Ovaj dokument pokazuje kako postaviti vaš Azure račun kako bi OpenAI mogao preuzeti ulogu s dozvolama za Key Vault.

Koraci
1. Kreirajte principal usluge za OpenAI u svom računu
Dobijte pristupni token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDKreirajte principal usluge – appId u zahtjevu u nastavku je ID klijenta OpenAI aplikacije. Time će se kreirati principal s prikaznim imenom „EKM - OpenAI Azure“ – zapamtite ga za kasnije korake.
Upute za integraciju OpenAI / Azure EKM - Kreiranje principala usluge
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. Kreirajte prilagođenu ulogu za ograničen pristup KMS-u
Idite na Subscriptions -> Access Control (IAM)
U padajućem izborniku + Add odaberite Add custom role
Idite na karticu JSON, kliknite Edit i dodajte sljedeće:
Bilo koji naziv uloge – zapamtite naziv koji ste odabrali
Sljedeće dozvole u dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. Kreirajte Key Vault + ključ
Ako ga već nemate, kreirajte novi Key Vault u istoj pretplati u kojoj ste upravo kreirali svoju prilagođenu ulogu.
U tom Key Vaultu kreirajte novi ključ:
Idite na Key Vault -> Objects -> Keys, zatim kliknite Generate/Import
U odjeljku Options odaberite Generate

Odaberite RSA kao algoritam šifriranja.
Možete odabrati bilo koju veličinu RSA ključa
Unesite naziv ključa u sljedećem formatu:
<org-xxx>--<any_name>, gdje jeorg-xxxID vaše OpenAI organizacije koji možete pronaći na https://platform.openai.com/settings/organization/general

Ako ne možete pregledati ili kreirati ključ, provjerite imate li ulogu Key Vault Administrator. Ovo je potrebno čak i ako imate ulogu Owner. Da biste dobili dodijeljenu ulogu:
Idite na Key Vault -> Access Control (IAM)
Kliknite na Add -> Add role assignment

4. Kreirajte dodjelu uloge za OpenAI principal usluge + novi prilagođeni KMS + novi ključ
Idite na Key Vault -> Objects -> Keys, zatim kliknite na red za ključ koji ste kreirali
Idite na Access control (IAM) za svoj ključ na koji ste upravo kliknuli (ne za svoj Key Vault).
U padajućem izborniku + Add odaberite Add role assignment

Na kartici Role odaberite naziv prilagođene uloge koju ste upravo kreirali.

Na kartici Members:
Kliknite na „+ Select members“
Unesite „ekm -“ u traku za pretraživanje; zatim bi se trebao učitati OpenAI principal usluge koji ste kreirali u 1. koraku

5. Primijenite sva dodatna ograničenja u skladu s vlastitim sigurnosnim praksama
Gore su navedene minimalne potrebne informacije koje OpenAI treba za postavljanje EKM-a. Možete primijeniti dodatne politike ključeva ili ograničenja u skladu s vlastitim internim sigurnosnim praksama, sve dok OpenAI može pozivati operacije šifriranja i dešifriranja na vašem KMS-u. Kada pozovete krajnju tačku za registraciju ključa kod OpenAI-a koja je opisana u nastavku, provjerit ćemo vaše postavke.
Nakon što dovršite gore navedene korake
ChatGPT Enterprise
Obratite se svom OpenAI kontaktu i podijelite sljedeće:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
Naziv glavnog ključa za Azure Key Vault kojim upravljate
Naziv ključa mora biti u obliku <org-xxx>--<any_name>, gdje je org-xxx ID vaše OpenAI organizacije koji možete pronaći na https://platform.openai.com/settings/organization/general
Omogućit ćemo EKM za vašu ChatGPT organizaciju/radni prostor.
API
Registrirajte svoj vanjski ključ kod OpenAI-a
Slijedite upute u ovoj API referenci Vanjski ključevi u Management API-ju
Prvo registrirajte svoj vanjski ključ na nivou OpenAI organizacije, čime će se generirati ID vanjskog ključa u obliku extkey_xxx
U ovom koraku provjerit ćemo da je vaš unos važeći i da se možemo autentificirati na vaš KMS.
Ovo još neće dodati EKM u vaš OpenAI projekt.
# 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>"
}'Zatim kreirajte OpenAI projekt povezan s vanjskim ključem. Nakon toga, EKM je aktiviran na vašem projektu.
Tijelo odgovora ovog API poziva dat će vam ID projekta (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"
}'