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

Кроки
1. Створіть новий ключ KMS
Перейдіть до KMS -> Ключі, керовані клієнтом, а потім натисніть Створити ключ.
Виберіть симетричний алгоритм шифрування.
Після створення ключа занотуйте його ARN. Підтримувані формати включають
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*або...:alias/<alias_name>.

2. Створіть користувацьку політику для обмеженого доступу до ключа KMS
Перейдіть до IAM -> Політики, а потім натисніть «Створити політику».
На кроці Укажіть дозволи виберіть JSON і введіть наведене нижче, щоб надати політиці дії доступу до KMS. Обов’язково замініть YOUR_KMS_ARN на ARN створеного вами ключа.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}3. Створіть роль IAM, яку OpenAI зможе брати на себе, і зв’яжіть її з політикою з обмеженим доступом до вашого KMS
OpenAI викликатиме AssumeRole з облікового запису AWS, що належить OpenAI. Цей крок дає змогу принципалу AWS OpenAI взяти на себе обмежену роль для доступу до вашого KMS.
Перейдіть до IAM -> Ролі, а потім натисніть Створити роль.
На кроці Виберіть довірений об’єкт виберіть Користувацька політика довіри.

Далі введіть наведене нижче в розділі Користувацька політика довіри, щоб дозволити доступ до принципала AWS OpenAI.
Принципалом є принципал AWS OpenAI:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Укажіть, який ExternalId OpenAI має передавати під час процесу
AssumeRole.Для ChatGPT або API використовуйте ідентифікатор організації (org-xxx), пов’язаний із вашим робочим простором: https://platform.api.openai.org/settings/organization/general.
Для API можна використати конкретний ідентифікатор проєкту API для більшої деталізації.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
<YOUR_OPENAI_ORGANIZATION_ID>,
]
}
}
}
]
}Потім на кроці Додати дозволи знайдіть назву політики IAM, яку ви створили на попередньому кроці. Установіть прапорець поруч із назвою політики, а потім натисніть Далі.

Нарешті, у розділі Назва, перегляд і створення виберіть будь-яку назву ролі.
4. Застосуйте будь-які додаткові обмеження відповідно до власних практик безпеки
Вище наведено мінімально потрібну інформацію для налаштування EKM в OpenAI. Ви можете застосовувати додаткові політики ключів або обмеження відповідно до власних внутрішніх практик безпеки, якщо OpenAI зможе викликати операції шифрування й розшифрування у вашому KMS. Коли ви викличете описану нижче кінцеву точку реєстрації ключа в OpenAI, ми перевіримо ваше налаштування.
Після виконання наведених вище кроків
ChatGPT Enterprise
Зверніться до свого контактного представника OpenAI і надайте таку інформацію:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"ARN ролі, яку OpenAI братиме на себе у вашій хмарі.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"ARN системи керування ключами для головного ключа, яким ви керуєте.
Ми ввімкнемо EKM для вашої організації/робочого простору ChatGPT.
API
Зареєструйте свій зовнішній ключ в OpenAI
Дотримуйтеся інструкцій у цьому довіднику API: Зовнішні ключі в Management API.
Спочатку зареєструйте свій зовнішній ключ на рівні організації OpenAI; це згенерує ідентифікатор зовнішнього ключа.
На цьому кроці ми перевіримо, що ваші вхідні дані дійсні та що ми можемо автентифікуватися у вашому 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": "aws",
"name": "Конфігурація AWS EKM",
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
"external_id": <ідентифікатор вашої організації або проєкту>
}'Потім створіть проєкт OpenAI, пов’язаний із зовнішнім ключем. Після цього EKM активується у вашому проєкті. Тіло відповіді цього виклику API надасть вам ідентифікатор проєкту (proj_xxx).
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"
}'