Ընդհանուր նկարագիր
Enterprise Key Management-ը (EKM) թույլ է տալիս OpenAI-ին ծածկագրել տվյալները՝ օգտագործելով ձեր վերահսկողության տակ գտնվող գլխավոր բանալին: Որպեսզի OpenAI-ը կարողանա ձեր Key Vault-ում կանչել ծածկագրման/վերծանման գործողություններ, մեզ պետք է հասանելիություն տրամադրվի: Այս փաստաթուղթը ցույց է տալիս, թե ինչպես կարգավորել ձեր Azure հաշիվը, որպեսզի OpenAI-ը կարողանա ստանձնել Key Vault-ի թույլտվություններով դեր:

Քայլեր
1. Ստեղծեք ծառայության պրինցիպալ OpenAI-ի համար ձեր հաշվում
Ստացեք հասանելիության թոքեն
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDՍտեղծեք ծառայության պրինցիպալը. ստորև հարցման մեջ appId արժեքը OpenAI-ի հավելվածի հաճախորդի ID-ն է: Սա կստեղծի «EKM - OpenAI Azure» ցուցադրվող անունով պրինցիպալ. հիշեք սա հետագա քայլերի համար:
OpenAI / Azure EKM ինտեգրման ցուցումներ. ստեղծել ծառայության պրինցիպալ
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. Ստեղծեք հատուկ դեր՝ KMS-ի սահմանափակ հասանելիության համար
Գնացեք Subscriptions -> Access Control (IAM)
+ Add բացվող ցանկում ընտրեք Add custom role
Գնացեք JSON ներդիր, սեղմեք Edit և ավելացրեք հետևյալը՝
Դերի ցանկացած անուն. հիշեք ձեր ընտրած անունը
Հետևյալ թույլտվությունները dataActions-ում՝
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. Ստեղծեք Key Vault + բանալի
Եթե դեռ չունեք, ստեղծեք նոր Key Vault այն նույն բաժանորդագրությունում, որտեղ հենց նոր ստեղծեցիք ձեր հատուկ դերը:
Այդ Key Vault-ում ստեղծեք նոր բանալի՝
Գնացեք Key Vault -> Objects -> Keys, ապա սեղմեք Generate/Import
Options բաժնում ընտրեք Generate

Որպես ծածկագրման ալգորիթմ ընտրեք RSA:
Կարող եք ընտրել RSA բանալու ցանկացած չափ
Նշեք բանալու անուն հետևյալ ձևաչափով՝
<org-xxx>--<any_name>, որտեղorg-xxx-ը ձեր OpenAI կազմակերպության ID-ն է, որը կարող եք գտնել https://platform.openai.com/settings/organization/general հասցեում

Եթե չեք կարող դիտել կամ ստեղծել բանալի, համոզվեք, որ ունեք Key Vault Administrator դերը: Սա անհրաժեշտ է նույնիսկ եթե ունեք Owner դերը: Դերը նշանակելու համար՝
Գնացեք Key Vault -> Access Control (IAM)
Սեղմեք Add -> Add role assignment

4. Ստեղծեք դերի նշանակում OpenAI ծառայության պրինցիպալի + նոր հատուկ KMS-ի + նոր բանալու համար
Գնացեք Key Vault -> Objects -> Keys, ապա սեղմեք ձեր ստեղծած բանալու տողի վրա
Գնացեք հենց նոր սեղմած բանալու Access control (IAM) բաժին (ոչ ձեր key vault-ի):
+ Add բացվող ցանկում ընտրեք Add role assignment

Role ներդիրում ընտրեք հենց նոր ստեղծած հատուկ դերի անունը:

Members ներդիրում՝
Սեղմեք «+ Select members»
Որոնման դաշտում մուտքագրեք «ekm -», ապա պետք է բեռնվի Քայլ 1-ում ձեր ստեղծած OpenAI ծառայության պրինցիպալը

5. Կիրառեք ցանկացած լրացուցիչ սահմանափակում՝ ձեր անվտանգության գործելակերպին համապատասխան
Վերևում նշված է նվազագույն պահանջվող տեղեկատվությունը, որն անհրաժեշտ է OpenAI-ին EKM-ը կարգավորելու համար: Դուք կարող եք կիրառել լրացուցիչ բանալու քաղաքականություններ կամ սահմանափակումներ՝ ձեր ներքին անվտանգության գործելակերպին համապատասխան, պայմանով, որ OpenAI-ը կարողանա ձեր KMS-ում կանչել ծածկագրման և վերծանման գործողություններ: Երբ կանչեք ստորև նկարագրված OpenAI-ի բանալու գրանցման վերջնակետը, մենք կհաստատենք ձեր կարգավորումը:
Վերոնշյալ քայլերն ավարտելուց հետո
ChatGPT Enterprise
Խնդրում ենք կապվել OpenAI-ում ձեր կոնտակտի հետ և փոխանցել հետևյալը՝
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
Azure Key Vault-ի գլխավոր բանալու անունը, որը դուք կառավարում եք
Բանալու անունը պետք է ունենա <org-xxx>--<any_name> ձևաչափը, որտեղ org-xxx-ը ձեր OpenAI կազմակերպության ID-ն է, որը կարող եք գտնել https://platform.openai.com/settings/organization/general հասցեում
Մենք կմիացնենք EKM-ը ձեր ChatGPT կազմակերպության/աշխատատարածքի համար:
API
Գրանցեք ձեր արտաքին բանալին OpenAI-ում
Հետևեք այս API տեղեկագրքի հրահանգներին՝ Արտաքին բանալիներ Management API-ում
Նախ գրանցեք ձեր արտաքին բանալին OpenAI կազմակերպության մակարդակում, ինչի արդյունքում կստեղծվի extkey_xxx ձևաչափի արտաքին բանալու ID
Այս քայլում մենք կհաստատենք, որ ձեր մուտքագրած տվյալները վավեր են, և որ կարող ենք նույնականացվել ձեր KMS-ում:
Սա դեռ EKM չի ավելացնի ձեր OpenAI նախագծին:
# 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>"
}'Այնուհետև ստեղծեք OpenAI նախագիծ՝ կապված արտաքին բանալու հետ: Դրանից հետո EKM-ն ակտիվացվում է ձեր նախագծում:
Այս API կանչի պատասխանի մարմինը ձեզ կտրամադրի նախագծի 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"
}'