OpenAI
Оваа страница беше машински преведена. Погледнете ја оригиналната статија на англиски јазик.

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

Чекор-по-чекор упатства за поставување Azure и активирање EKM

Ажурирано: last month

Преглед

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 во барањето подолу е 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

  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 Vault во истата претплата каде што штотуку ја создадовте вашата приспособена улога.

Во тој Key Vault, создајте нов клуч:

  1. Одете на Key Vault -> Objects -> Keys, потоа кликнете на Generate/Import

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

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

  2. Можете да изберете која било големина на RSA клуч

  3. Наведете име на клуч со следниов формат: <org-xxx>--<any_name>, каде што org-xxx е ID на вашата организација во 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 -> Access Control (IAM)

  2. Кликнете на Add -> Add role assignment

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

4. Создајте доделување улога за сервисниот принципал на 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
  1. Во јазичето Role, изберете го името на приспособената улога што штотуку ја создадовте.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. Во јазичето Members:

    1. Кликнете на „+ Select members“

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

Дали оваа статија ви беше корисна?