Общ преглед
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 акаунт. Тази стъпка позволява на AWS субекта на OpenAI да поеме ролята с ограничени права за достъп до вашата KMS.
Отидете на IAM > Роли, след което изберете Създаване на роля.
В стъпката Избор на доверен субект изберете Персонализирана политика за доверие.

След това въведете следното в Персонализирана политика за доверие, за да разрешите достъп на 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 политиката, която създадохте в предишната стъпка. Поставете отметка в квадратчето до името на политиката, след което изберете Напред.

Накрая в раздела Име, преглед и създаване изберете произволно име за ролята.
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 за управление.
Първо регистрирайте външния си ключ на ниво организация в 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 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"
}'