OpenAI
Для перекладу цієї сторінки виконано машинний переклад. Ви можете переглянути оригінальну статтю англійською.

Інструкції з інтеграції OpenAI / GCP EKM

Покрокові інструкції з підготовки GCP та активації EKM

Оновлено: 2 days ago

Огляд

Enterprise Key Management (EKM) дає змогу OpenAI шифрувати дані за допомогою головного ключа, яким керуєте ви. У цьому документі показано, як налаштувати обліковий запис GCP, щоб надати OpenAI обмежені дозволи для вашого KMS.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Кроки

1. Створіть федеративну ідентичність для OpenAI

OpenAI видаватиме токен ідентичності з облікового запису GCP, що належить OpenAI, який виглядає приблизно так.

  • azp і sub — це ID сервісного облікового запису OpenAI у GCP

  • aud — це ID вашої організації OpenAI. Ви також можете вибрати іншу аудиторію, наприклад ID вашого проєкту OpenAI — див. інструкції нижче

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Цей крок розпізнає твердження, зроблені цим токеном ідентичності, і дає вашому GCP STS змогу видавати токен доступу, коли цей токен ідентичності надано.

  1. Перейдіть до IAM і адміністрування -> Федерація ідентичності робочого навантаження та натисніть Створити пул

GCP IAM & Admin with Workload Identity Federation selected
  1. На кроці Створити пул ідентичностей введіть будь-що для назви пулу.

  1. На кроці Додати постачальника до пулу:

  1. У полі «Виберіть постачальника» виберіть OpenID Connect (OIDC)

  2. Введіть будь-яку назву постачальника.

  3. У розділі Емітент (URL) введіть https://accounts.google.com

  4. У розділі Аудиторії

  1. Виберіть Дозволені аудиторії

  2. Введіть аудиторію, яку OpenAI має вказувати, коли ми передаємо вам токен.

  1. Для ChatGPT або API: можна вказати ID організації OpenAI API (org-xxx)

  2. Для API: можна вказати конкретний ID проєкту API для більшої деталізації.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. У розділі Зіставлення атрибутів

  1. для google.subject введіть assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. У розділі Умови атрибутів

  1. Тепер ви маєте побачити свій пул ідентичностей робочого навантаження та постачальника ідентичності робочого навантаження на сторінці https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID пулу ідентичностей робочого навантаження

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID постачальника ідентичності робочого навантаження

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. Переконайтеся, що KMS увімкнено

Перейдіть на https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview, щоб увімкнути KMS. Вам не потрібно створювати KMS у тому самому проєкті GCP, де ви розпізнали федеративну ідентичність OpenAI; однак, якщо проєкти відрізняються, продукт KMS має бути принаймні увімкнений в обох проєктах.

3. Створіть новий ключ KMS

  1. Перейдіть до Безпека -> Захист даних > Керування ключами

  2. На вкладці Огляд натисніть Створити кільце ключів

  1. Виберіть будь-яку назву для свого кільця ключів

  2. Для параметра «Призначення та алгоритм» виберіть Симетричне шифрування/дешифрування

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Після створення кільця ключів воно має з’явитися на вкладці Кільця ключів. Натисніть кільце ключів.

  2. У відомостях про кільце ключів натисніть Створити ключ

  1. Виберіть будь-яку назву для свого ключа

4. Створіть обмежену роль для операцій шифрування/дешифрування в KMS

  1. Перейдіть до IAM і адміністрування -> Ролі -> Створити роль

  2. Введіть будь-яку назву та ID ролі

  3. Натисніть Додати дозволи, а потім додайте наведене нижче

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Призначте федеративну ідентичність OpenAI обмеженій ролі KMS для операцій шифрування/дешифрування

  1. Перейдіть до Безпека -> Захист даних > Керування ключами

  2. Натисніть назву свого кільця ключів, а потім назву свого ключа, щоб перейти на сторінку відомостей про ключ.

  1. Перейдіть на вкладку Дозволи, а потім натисніть кнопку Надати доступ

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Призначте федеративну ідентичність OpenAI спеціальній ролі, яку ви створили раніше

  1. У розділі Додати суб’єктів введіть principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. У розділі Призначити ролі виберіть спеціальну роль, створену на попередньому кроці для обмежених дозволів EKM

6. Застосуйте будь-які додаткові обмеження відповідно до власних практик безпеки

Вище наведено мінімально необхідну інформацію, яка потрібна OpenAI для налаштування EKM. Ви можете застосовувати додаткові політики ключів або обмеження відповідно до власних внутрішніх практик безпеки, якщо OpenAI може викликати операції шифрування та дешифрування у вашому KMS. Коли ви викличете кінцеву точку реєстрації ключа в OpenAI, описану нижче, ми перевіримо ваше налаштування.

Після виконання наведених вище кроків

ChatGPT Enterprise

Зверніться до свого контактного представника OpenAI і надайте таку інформацію:

  • "workload_identity_project_number": "123456789012",

  • "workload_identity_pool_id": "openai-azure",

  • "workload_identity_provider_id": "openai-ekm-service-role",

  • "kms_project_id": "adjective-noun-12345",

  • "kms_key_name": "openai-kms-key",

  • "kms_key_ring_name": "openai-kms-key-ring",

  • "kms_key_location": "us-east1"

  • Регіон, у якому розташований головний ключ вашої системи керування ключами

Ми ввімкнемо EKM для вашої організації/робочого простору ChatGPT.

API

Зареєструйте свій зовнішній ключ в OpenAI

Дотримуйтесь інструкцій у цьому довіднику API Зовнішні ключі в Management API

  • Спочатку зареєструйте свій зовнішній ключ на рівні організації OpenAI, що згенерує ID зовнішнього ключа.

  • На цьому кроці ми перевіримо ваше налаштування в GCP, переконавшись, що можемо автентифікуватися у вашому KMS.

  • Це ще не додасть EKM до вашого проєкту OpenAI.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "Конфігурація GCP EKM",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <ідентифікатор вашої організації або проєкту>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

Потім створіть проєкт OpenAI, пов’язаний із зовнішнім ключем. Після цього EKM буде активовано у вашому проєкті.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Деякий проєкт",

   "external_key_id": "extkey_xxxx"

}'

Чи була ця стаття корисною?