OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Конфигуриране на EKM с OpenAI и AWS

Научете как да настроите ресурсите в AWS и да активирате корпоративното управление на ключове (EKM).

Актуализирано: 4 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 акаунт. Тази стъпка позволява на 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), свързана с вашето работно пространство: настройки на организацията.

    • За 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. Приложете всички допълнителни ограничения съгласно собствените си практики за сигурност

По-горе е посочена минимално необходимата информация, от която OpenAI се нуждае, за да настрои EKM. Можете да приложите допълнителни политики за ключове или ограничения съгласно вътрешните си практики за сигурност, стига 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 на Key Management System за главния ключ, който управлявате.

Ще активираме EKM за вашата ChatGPT организация/работно пространство.

API

Регистрирайте външния си ключ в OpenAI

Следвайте инструкциите в тази справочна документация за API: Външни ключове в 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 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"
}'

Беше ли Ви полезна тази статия?