Преглед
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 во барањето подолу е ID на клиентот на апликацијата на OpenAI. Ова ќе создаде принципал со прикажано име „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е ID на вашата организација во OpenAI, што можете да го најдете на 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 -“ во лентата за пребарување, па треба да се вчита сервисниот принципал на OpenAI што го создадовте во Чекор 1

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 е ID на вашата организација во OpenAI, што можете да го најдете на https://platform.openai.com/settings/organization/general
Ќе овозможиме EKM за вашата ChatGPT организација/работен простор.
API
Регистрирајте го вашиот надворешен клуч кај OpenAI
Следете ги упатствата во оваа API референца External Keys во Management API
Прво, регистрирајте го вашиот надворешен клуч на ниво на организација на OpenAI, со што ќе се генерира ID на надворешен клуч во форма extkey_xxx
Во овој чекор ќе потврдиме дека вашиот внес е валиден и дека можеме да се автентицираме на вашиот 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"
}'