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

Інструкції з інтеграції OpenAI / AWS EKM

Покрокові інструкції з налаштування AWS та активації EKM

Оновлено: 2 days 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 використовуйте ідентифікатор організації (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, яку ви створили на попередньому кроці. Установіть прапорець поруч із назвою політики, а потім натисніть Далі.

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: Зовнішні ключі в Management API.

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

  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",
  "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"
}'

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