OpenAI
Ova je stranica strojno prevedena. Pogledajte izvorni članak na engleskom jeziku.

Upute za integraciju OpenAI-ja / Azure EKM-a

Upute korak po korak za postavljanje Azurea i aktivaciju EKM-a

Ažurirano: 6 days ago

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.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

Koraci

1. Izradite upravitelja usluge za OpenAI na svojem računu

  1. Dohvatite pristupni token

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Izradite 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

  1. Idite na Subscriptions -> Access Control (IAM)

  2. U padajućem izborniku + Add odaberite Add custom role

  3. Idite na karticu JSON, kliknite Edit i dodajte sljedeće:

    1. Bilo koji naziv uloge – zapamtite naziv koji ste odabrali

    2. Sljedeće dozvole u dataActions:

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

OpenAI / Azure EKM Integration Instructions Custom Role

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č:

  1. Idite na Key Vault -> Objects -> Keys, a zatim kliknite Generate/Import

  2. U odjeljku Options odaberite Generate

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Odaberite RSA kao algoritam šifriranja.

  2. Možete odabrati bilo koju veličinu RSA ključa

  3. Navedite naziv ključa u sljedećem formatu: <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

Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

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:

  1. Idite na Key Vault -> Access Control (IAM)

  2. Kliknite Add -> Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. Izradite dodjelu uloge za upravitelja usluge OpenAI + novi prilagođeni KMS + novi ključ

  1. Idite na Key Vault -> Objects -> Keys, a zatim kliknite redak za ključ koji ste izradili

  2. Idite na Access control (IAM) za ključ koji ste upravo kliknuli (ne za svoj Key Vault).

  3. U padajućem izborniku + Add odaberite Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. Na kartici Role odaberite naziv prilagođene uloge koju ste upravo izradili.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. Na kartici Members:

    1. Kliknite „+ Select members”

    2. Upišite „ekm -” u traku za pretraživanje; trebao bi se učitati upravitelj usluge OpenAI koji ste izradili u 1. koraku

Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

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

Je li vam ovaj članak bio koristan?