OpenAI
Ang page na ito ay isinalin ng AI. Tingnan ang orihinal na artikulo sa English.

Mga Tagubilin sa Pagsasama ng OpenAI / Azure EKM

Sunod-sunod na mga tagubilin para i-provision ang Azure at i-activate ang EKM

Na-update: 14 days ago

Pangkalahatang-ideya

Pinapayagan ng Enterprise Key Management (EKM) ang OpenAI na i-encrypt ang data gamit ang master key na ikaw ang kumokontrol. Para makatawag ang OpenAI ng mga operation na encrypt/decrypt sa iyong Key Vault, kakailanganin naming mabigyan ng access. Ipinapakita ng dokumentong ito kung paano i-set up ang iyong Azure account para maka-assume ang OpenAI ng role na may mga pahintulot sa Key Vault.

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

Mga hakbang

1. Gumawa ng service principal para sa OpenAI sa iyong account

  1. Kumuha ng access token

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Gawin ang service principal - ang appId sa request sa ibaba ay ang application client id ng OpenAI. Gagawa ito ng principal na may display name na “EKM - OpenAI Azure” - tandaan ito para sa mga susunod na hakbang.

OpenAI / Azure EKM Integration Instructions - Gumawa ng service principal

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. Gumawa ng custom na role para sa limitadong access sa KMS

  1. Pumunta sa Subscriptions -> Access Control (IAM)

  2. Sa dropdown na + Add, piliin ang Add custom role

  3. Pumunta sa tab na JSON, i-click ang Edit, at idagdag ang sumusunod:

    1. Anumang pangalan ng role - tandaan ang pangalang pinili mo

    2. Ang sumusunod na mga pahintulot sa 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. Gumawa ng Key Vault + Key

Kung wala ka pa nito, gumawa ng bagong Key Vault sa parehong subscription kung saan mo kakagawa lang ng custom na role.

Sa Key Vault na iyon, gumawa ng bagong Key:

  1. Pumunta sa Key Vault -> Objects -> Keys, pagkatapos ay i-click ang Generate/Import

  2. Sa ilalim ng Options, piliin ang Generate

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Piliin ang RSA para sa encryption algorithm.

  2. Maaari kang pumili ng anumang RSA key size

  3. Magbigay ng pangalan ng key na may sumusunod na format: <org-xxx>--<any_name> kung saan ang org-xxx ay ang OpenAI organization ID mo na makikita sa https://platform.openai.com/settings/organization/general

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

Kung hindi mo matingnan o magawa ang isang key, tiyaking mayroon kang role na Key Vault Administrator. Kailangan ito kahit mayroon kang Owner role. Para maitalaga ang role:

  1. Pumunta sa Key Vault -> Access Control (IAM)

  2. I-click ang Add -> Add role assignment

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

4. Gumawa ng role assignment para sa OpenAI service principal + bagong custom KMS + bagong key

  1. Pumunta sa Key Vault -> Objects -> Keys pagkatapos ay i-click ang row para sa key na ginawa mo

  2. Pumunta sa Access control (IAM) para sa key na kaka-click mo lang (hindi ang iyong key vault).

  3. Sa dropdown na + Add, piliin ang Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. Sa tab na Role, piliin ang pangalan ng custom na role na kakagawa mo lang.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. Sa tab na Members:

    1. I-click ang “+ Select members”

    2. I-type ang “ekm -” sa search bar, pagkatapos ay dapat mag-load ang OpenAI service principal na ginawa mo sa Hakbang 1

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

5. Maglapat ng anumang karagdagang paghihigpit alinsunod sa sarili mong mga kasanayan sa seguridad

Ang nasa itaas ang minimum na kinakailangang impormasyong kailangan ng OpenAI para i-set up ang EKM. Malaya kang maglapat ng karagdagang key policies o paghihigpit alinsunod sa sarili mong mga panloob na kasanayan sa seguridad, basta makakatawag ang OpenAI ng mga operation na encrypt at decrypt sa iyong KMS. Kapag tinawag mo ang endpoint sa pagpaparehistro ng key sa OpenAI na inilalarawan sa ibaba, iva-validate namin ang iyong setup.

Pagkatapos makumpleto ang mga hakbang sa itaas

ChatGPT Enterprise

Mangyaring makipag-ugnayan sa iyong contact sa OpenAI at ibahagi ang sumusunod:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

  • "key_name": "<YOUR_KEY_NAME>"

  • Ang pangalan ng Azure Key Vault master key na pinamamahalaan mo

  • Dapat nasa anyong <org-xxx>--<any_name> ang pangalan ng key kung saan ang org-xxx ay ang OpenAI organization ID mo na makikita sa https://platform.openai.com/settings/organization/general

Ie-enable namin ang EKM para sa iyong organisasyon/workspace sa ChatGPT.

API

Irehistro ang iyong external key sa OpenAI

Sundin ang mga tagubilin sa API reference na ito External Keys in the Management API

  • Una, irehistro ang iyong external key sa antas ng organisasyon ng OpenAI, na bubuo ng external key id na nasa anyong extkey_xxx

  • Sa hakbang na ito, iva-validate namin na valid ang iyong input at makakapag-authenticate kami sa iyong KMS.

  • Hindi pa nito idaragdag ang EKM sa iyong OpenAI project.

# 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>"
}'
  • Pagkatapos, gumawa ng OpenAI project na nauugnay sa external key. Pagkatapos nito, naka-activate na ang EKM sa iyong project.

  • Ibibigay sa iyo ng response body ng API call na ito ang project ID (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"
}'

Nakatulong ba ang artikulong ito?