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

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

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

Актуализирано: 7 hours 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. Създайте service principal за OpenAI във вашия акаунт

  1. Вземете токен за достъп

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID

2. Създайте service principal - appId в заявката по-долу е идентификаторът на клиента на приложението на OpenAI. Това ще създаде principal с показваното име „EKM - OpenAI Azure“ - запомнете това за следващите стъпки.

Инструкции за интеграция на OpenAI / Azure EKM - Създаване на 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. Създайте персонализирана роля за ограничен достъп до KMS

  1. Отидете на Subscriptions -> Access Control (IAM)

  2. Под падащото меню + Add изберете Add custom role

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

    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

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

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

  1. Отидете на Key Vault -> Objects -> Keys, след което щракнете върху Generate/Import

  2. Под Options изберете Generate

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

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

  5. Посочете име на ключ в следния формат: <org-xxx>--<any_name>, където org-xxx е вашият OpenAI organization ID, който можете да намерите на 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->Access Control (IAM)

  2. Щракнете върху Add-> Add role assignment

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

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

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

  2. Отидете на Access control (IAM) за своя ключ, върху който току-що щракнахте (не за вашия key vault).

  3. Под падащото меню + Add изберете Add role assignment

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

    Azure role list filtered for openai- with the openai-azure-kms-role entry
  5. В раздела Members:

    1. Щракнете върху „+ Select members“

    2. Въведете „ekm -“ в лентата за търсене, след което service principal на 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>"

    • Вашият Azure tenant UUID

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

    • URI адресът на Azure хранилището, съдържащо главния ключ, който управлявате

  • "key_name": "<YOUR_KEY_NAME>"

    • Името на главния ключ в Azure Key Vault, който управлявате

    • Името на ключа трябва да е във формата <org-xxx>--<any_name>, където org-xxx е вашият OpenAI organization ID, който можете да намерите на https://platform.openai.com/settings/organization/general

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

API

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

Следвайте инструкциите в тази API справка External Keys in the Management API

  • Първо регистрирайте външния си ключ на ниво OpenAI organization, което ще генерира идентификатор на външен ключ във формата extkey_xxx

  • В тази стъпка ще валидираме, че въведените от вас данни са валидни и че можем да се удостоверим пред вашата KMS.

  • Това все още няма да добави EKM към вашия OpenAI project. 

# Това генерира ID на външен ключ във формата 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 project, свързан с външния ключ. След това EKM се активира за вашия project.

  • Тялото на отговора от това API извикване ще ви даде ID на project (proj_xxx)

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

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

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