Преглед
Enterprise Key Management (EKM) му овозможува на OpenAI да шифрира податоци со главен клуч што вие го контролирате. Овој документ покажува како да ја поставите вашата GCP сметка за да му дадете на OpenAI ограничени дозволи на вашиот KMS.

Чекори
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 да издаде пристапен токен кога ќе се достави тој идентитетски токен.
Одете во IAM & Admin -> Федерација на идентитет на работно оптоварување и кликнете на Создај пул

Во чекорот Создај пул на идентитети, внесете што било за името на пулот.
Во чекорот Додај давател во пулот:
Во Изберете давател, изберете OpenID Connect (OIDC)
Внесете што било за името на давателот.
Во делот Издавач (URL), внесете https://accounts.google.com
Во делот Публики
Изберете Дозволени публики
Внесете ја публиката што OpenAI треба да ја наведе кога ќе ви испратиме токен.
За ChatGPT или API: можете да го внесете ID на OpenAI API организацијата (org-xxx)
За API: можете да внесете одреден ID на API проект за поголема грануларност.

Во делот Мапирање на атрибути
за google.subject внесете assertion.sub

Во делот Услови за атрибути
Сега треба да ги гледате вашиот пул на идентитети на работно оптоварување и давател на идентитети на работно оптоварување наведени на страницата https://console.cloud.google.com/iam-admin/workload-identity-pools
ID на пулот на идентитети на работно оптоварување

ID на давателот на идентитети на работно оптоварување

2. Осигурете се дека KMS е овозможен
Одете на https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview за да го овозможите KMS. Не мора да го создадете вашиот KMS во истиот GCP проект каде што го регистриравте федералниот идентитет на OpenAI; сепак, ако проектите се разликуваат, производот KMS мора барем да биде овозможен во двата проекта.
3. Создајте нов KMS клуч
Одете во Безбедност -> Заштита на податоци > Управување со клучеви
Под картичката Преглед кликнете на Создај прстен за клучеви
Изберете какво било име за вашиот прстен за клучеви
За намената и алгоритмот, изберете Симетрично шифрирање/дешифрирање

Откако ќе создадете прстен за клучеви, тој треба да биде наведен во картичката Прстени за клучеви. Кликнете на прстенот за клучеви.
Во деталите за прстенот за клучеви, кликнете на Создај клуч
Изберете какво било име за вашиот клуч
4. Создајте ограничена улога за операции на шифрирање/дешифрирање на KMS
Одете во IAM & Admin -> Улоги -> Создај улога
Внесете што било за насловот и ID-то на улогата
Кликнете Додај дозволи, а потоа додајте го следново
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Доделете го федералниот идентитет на OpenAI на ограничената KMS улога за операции на шифрирање/дешифрирање
Одете во Безбедност -> Заштита на податоци > Управување со клучеви
Кликнете на името на вашиот прстен за клучеви, а потоа кликнете на вашето име на клучот за да дојдете до страницата со детали за клучот.
Кликнете на картичката Дозволи, а потоа кликнете на копчето Додели пристап

Доделете го федералниот идентитет на OpenAI на приспособената улога што претходно ја создадовте
Во делот Додај принципали, внесете principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Во делот Додели улоги, изберете ја приспособената улога што ја создадовте во претходниот чекор за ограничени 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": <идентификатор на вашата организација или проект>,
"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"
}'