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

Налаштування EKM з OpenAI та AWS

Дізнайтеся, як підготувати ресурси AWS і активувати корпоративне керування ключами (EKM).

Оновлено: 14 minutes ago

Огляд

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

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

Кроки

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

  1. Перейдіть до KMS > Ключі, керовані клієнтом й виберіть Створити ключ.

  2. Виберіть симетричний алгоритм шифрування.

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

AWS KMS customer managed key details page with key ID and ARN for test-kms

2. Створіть власну політику для обмеженого доступу до ключа KMS

  1. Перейдіть до IAM > Політики й виберіть Створити політику.

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

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
"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.

  1. Перейдіть до IAM > Ролі й виберіть Створити роль.

  2. На кроці Виберіть довірений суб’єкт виберіть Власна політика довіри.

AWS IAM Select trusted entity screen with Custom trust policy selected

Далі введіть наведений нижче код у полі Власна політика довіри, щоб надати доступ суб’єкту 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, створену на попередньому кроці. Установіть прапорець поруч із назвою політики й виберіть Далі.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

Насамкінець у розділі Назва, перевірка та створення укажіть довільну назву ролі.

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 керування.

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

  2. На цьому кроці ми перевіримо, чи правильно введено дані та чи можемо ми пройти автентифікацію у вашому KMS.

  3. На цьому етапі 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"
}'

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