OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Инструкции за интеграция на OpenAI / Azure EKM

Инструкции стъпка по стъпка за осигуряване на Azure и активиране на EKM

Актуализирано: 3 days ago

Общ преглед

Enterprise Key Management (EKM) позволява на OpenAI да криптира данни с помощта на главен ключ, който контролирате. За да може OpenAI да извиква операции за криптиране/декриптиране във вашия Key Vault, ще трябва да ни бъде предоставен достъп. Този документ показва как да настроите акаунта си в Azure, така че OpenAI да може да приема роля с разрешения за Key Vault.

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

Стъпки

1. Създайте принципал на услуга за OpenAI във вашия акаунт

  1. Получете токен за достъп

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Създайте принципала на услуга — appId в заявката по-долу е клиентският идентификатор на приложението на 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

  1. Отидете на Абонаменти -> Контрол на достъпа (IAM)

  2. От падащото меню + Добавяне изберете Добавяне на персонализирана роля

  3. Отидете в раздела JSON, щракнете върху Редактиране и добавете следното:

    1. Произволно име на роля — запомнете избраното име

    2. Следните разрешения в 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. Създайте Key Vault + ключ

Ако все още нямате такъв, създайте нов Key Vault в същия абонамент, в който току-що създадохте персонализираната си роля.

В този Key Vault създайте нов ключ:

  1. Отидете на Key Vault -> Обекти -> Ключове, след което щракнете върху Генериране/Импортиране

  2. Под Опции изберете Генериране

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Изберете RSA като алгоритъм за криптиране.

  2. Можете да изберете произволен размер на RSA ключ

  3. Посочете име на ключ със следния формат: <org-xxx>--<any_name>, където org-xxx е идентификаторът на вашата организация в OpenAI, който можете да намерите на https://platform.openai.com/settings/organization/general

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

Ако не можете да прегледате или създадете ключ, уверете се, че имате ролята Key Vault Administrator. Това е необходимо дори ако имате ролята Owner. За да ви бъде назначена ролята:

  1. Отидете на Key Vault -> Контрол на достъпа (IAM)

  2. Щракнете върху Добавяне -> Добавяне на назначаване на роля

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

4. Създайте назначаване на роля за принципала на услуга на OpenAI + нов персонализиран KMS + нов ключ

  1. Отидете на Key Vault -> Обекти -> Ключове, след което щракнете върху реда за ключа, който създадохте

  2. Отидете на Контрол на достъпа (IAM) за ключа, върху който току-що щракнахте (не за вашия Key Vault).

  3. От падащото меню + Добавяне изберете Добавяне на назначаване на роля

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. В раздела Роля изберете името на персонализираната роля, която току-що създадохте.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. В раздела Членове:

    1. Щракнете върху „+ Избор на членове“

    2. Въведете „ekm -“ в лентата за търсене, след което трябва да се зареди принципалът на услуга на OpenAI, който създадохте в стъпка 1

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

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, който можете да намерите на https://platform.openai.com/settings/organization/general

Ще активираме EKM за вашата организация/работно пространство в ChatGPT.

API

Регистрирайте външния си ключ в OpenAI

Следвайте инструкциите в тази справка за API Външни ключове в Management API

  • Първо регистрирайте външния си ключ на ниво организация в OpenAI, което ще генерира идентификатор на външен ключ във формат 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 извикване ще ви даде идентификатора на проекта (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"
}'

Беше ли Ви полезна тази статия?