Преглед
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. Применете дополнителни ограничувања во согласност со вашите безбедносни практики
Погоре се минимално потребните информации што му се потребни на 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 на системот за управување со клучеви за главниот клуч со кој управувате.
Ќе овозможиме 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-повик ќе ви го даде ID-то на проектот (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"
}'