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.

Mga hakbang
1. Gumawa ng service principal para sa OpenAI sa iyong account
Kumuha ng access token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDGawin 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
Pumunta sa Subscriptions -> Access Control (IAM)
Sa dropdown na + Add, piliin ang Add custom role
Pumunta sa tab na JSON, i-click ang Edit, at idagdag ang sumusunod:
Anumang pangalan ng role - tandaan ang pangalang pinili mo
Ang sumusunod na mga pahintulot sa dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

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:
Pumunta sa Key Vault -> Objects -> Keys, pagkatapos ay i-click ang Generate/Import
Sa ilalim ng Options, piliin ang Generate

Piliin ang RSA para sa encryption algorithm.
Maaari kang pumili ng anumang RSA key size
Magbigay ng pangalan ng key na may sumusunod na format:
<org-xxx>--<any_name>kung saan angorg-xxxay ang OpenAI organization ID mo na makikita sa https://platform.openai.com/settings/organization/general

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:
Pumunta sa Key Vault -> Access Control (IAM)
I-click ang Add -> Add role assignment

4. Gumawa ng role assignment para sa OpenAI service principal + bagong custom KMS + bagong key
Pumunta sa Key Vault -> Objects -> Keys pagkatapos ay i-click ang row para sa key na ginawa mo
Pumunta sa Access control (IAM) para sa key na kaka-click mo lang (hindi ang iyong key vault).
Sa dropdown na + Add, piliin ang Add role assignment

Sa tab na Role, piliin ang pangalan ng custom na role na kakagawa mo lang.

Sa tab na Members:
I-click ang “+ Select members”
I-type ang “ekm -” sa search bar, pagkatapos ay dapat mag-load ang OpenAI service principal na ginawa mo sa Hakbang 1

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