Огляд
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 використовуйте ID організації (org-xxx), пов’язаної з вашим робочим простором: налаштування організації.
Для API можна використати ID конкретного проєкту 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: Зовнішні ключі в API керування.
Спочатку зареєструйте зовнішній ключ на рівні організації OpenAI — це згенерує ID зовнішнього ключа.
На цьому кроці ми перевіримо, чи правильно введено дані та чи можемо ми пройти автентифікацію у вашому 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 Config",
"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": "<your org id or project 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": "Some Project",
"external_key_id": "extkey_xxxx"
}'