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

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

Инструкции стъпка по стъпка за настройване на GCP и активиране на EKM

Актуализирано: 3 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"
}

Тази стъпка разпознава claims, направени от този токен за идентичност, и позволява на вашия GCP STS да издаде токен за достъп, когато бъде предоставен този токен за идентичност.

  1. Отидете на IAM & Admin -> Workload Identity Federation и щракнете върху Create Pool

GCP IAM & Admin with Workload Identity Federation selected
  1. В стъпката Create an identity pool, въведете произволна стойност за pool name.

  1. В стъпката Add a provider to pool:

  1. В Select a provider изберете OpenID Connect (OIDC)

  2. Въведете произволна стойност за provider name.

  3. В секцията Issuer (URL) въведете https://accounts.google.com

  4. В секцията Audiences

  1. Изберете Allowed audiences

  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. В секцията Attribute mapping

  1. за google.subject въведете assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. В секцията Attribute conditions

  1. Сега трябва да виждате своя workload identity pool и workload identity provider , посочени на страницата https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID на workload identity pool

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID на workload identity provider

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. Отидете на Security -> Data Protection > Key Management

  2. В раздела Overview щракнете върху Create key ring

  1. Изберете произволно име за своя key ring

  2. За предназначение и алгоритъм изберете Symmetric encrypt/decrypt

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. След като създадете key ring, той трябва да бъде показан в раздела Key Rings. Щракнете върху key ring.

  2. В подробностите за key ring щракнете върху Create Key

  1. Изберете произволно име за своя ключ

4. Създайте ограничена роля за операции за шифроване/дешифриране в KMS

  1. Отидете на IAM & Admin -> Roles -> Create role

  2. Въведете произволна стойност за заглавието и ID на ролята

  3. Щракнете върху Add Permissions, след което добавете следното

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Присвоете федерираната идентичност на OpenAI към ограничената KMS роля за операции за шифроване/дешифриране

  1. Отидете на Security -> Data Protection > Key Management

  2. Щракнете върху името на своя key ring, след което щракнете върху името на своя ключ, за да отидете на страницата с подробности за ключа.

  1. Щракнете върху раздела Permissions, след което върху бутона Grant Access

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Присвоете федерираната идентичност на OpenAI към персонализираната роля, която създадохте по-рано

  1. В секцията Add principals въведете principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. В секцията Assign roles изберете персонализираната роля, която създадохте в предишната стъпка за ограничени 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 Външни ключове в 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": <вашият org id или project id>,
   "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"

}'

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