Pregled
Enterprise Key Management (EKM) omogućuje OpenAI-ju šifriranje podataka pomoću glavnog ključa koji vi kontrolirate. Kako bi OpenAI mogao pozivati operacije šifriranja/dešifriranja na vašem Key Vaultu, morat ćemo dobiti pristup. Ovaj dokument prikazuje kako postaviti Azure račun da bi OpenAI mogao preuzeti ulogu s dozvolama za Key Vault.

Koraci
1. Izradite upravitelja usluge za OpenAI na svojem računu
Dohvatite pristupni token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDIzradite upravitelja usluge – appId u zahtjevu u nastavku ID je klijenta aplikacije OpenAI. Time će se stvoriti upravitelj s prikaznim nazivom „EKM - OpenAI Azure” – zapamtite ga za kasnije korake.
Upute za integraciju OpenAI / Azure EKM – izrada upravitelja 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. Izradite prilagođenu ulogu za ograničeni 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. Izradite Key Vault + ključ
Ako ga još nemate, izradite novi Key Vault u istoj pretplati u kojoj ste upravo izradili prilagođenu ulogu.
U tom Key Vaultu izradite novi ključ:
Idite na Key Vault -> Objects -> Keys, a zatim kliknite Generate/Import
U odjeljku Options odaberite Generate

Odaberite RSA kao algoritam šifriranja.
Možete odabrati bilo koju veličinu RSA ključa
Navedite naziv ključa u sljedećem formatu:
<org-xxx>--<any_name>, pri čemu 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 izraditi ključ, provjerite imate li ulogu Key Vault Administrator. To je potrebno čak i ako imate ulogu Owner. Da bi vam se dodijelila uloga:
Idite na Key Vault -> Access Control (IAM)
Kliknite Add -> Add role assignment

4. Izradite dodjelu uloge za upravitelja usluge OpenAI + novi prilagođeni KMS + novi ključ
Idite na Key Vault -> Objects -> Keys, a zatim kliknite redak za ključ koji ste izradili
Idite na Access control (IAM) za ključ 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 izradili.

Na kartici Members:
Kliknite „+ Select members”
Upišite „ekm -” u traku za pretraživanje; trebao bi se učitati upravitelj usluge OpenAI koji ste izradili u 1. koraku

5. Primijenite dodatna ograničenja u skladu sa svojim sigurnosnim praksama
Gore su navedeni minimalni potrebni podaci koji su OpenAI-ju potrebni za postavljanje EKM-a. Slobodno primijenite dodatna pravila ili ograničenja za ključeve 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 točku za registraciju ključa kod OpenAI-ja, opisanu u nastavku, provjerit ćemo vašu konfiguraciju.
Nakon dovršetka prethodnih koraka
ChatGPT Enterprise
Obratite se svojoj kontakt-osobi u tvrtki OpenAI 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>, pri čemu 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-ja
Slijedite upute u ovoj API referenci Vanjski ključevi u API-ju za upravljanje
Najprije registrirajte svoj vanjski ključ na razini OpenAI organizacije, čime će se generirati ID vanjskog ključa u obliku extkey_xxx
U ovom ćemo koraku provjeriti jesu li vaši uneseni podaci valjani i možemo li se autentificirati na vaš KMS.
Time se EKM još neće dodati vašem OpenAI projektu.
# 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 izradite OpenAI projekt povezan s vanjskim ključem. Nakon toga EKM se aktivira 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": "Neki projekt",
"external_key_id": "extkey_xxxx"
}'