Pangkalahatang-ideya
Pinapayagan ng Enterprise Key Management (EKM) ang OpenAI na i-encrypt ang data gamit ang master key na kinokontrol mo. Ipinapakita ng dokumentong ito kung paano i-set up ang iyong AWS account upang bigyan ang OpenAI ng limitadong mga pahintulot sa iyong KMS.

Mga hakbang
1. Gumawa ng bagong KMS key
Pumunta sa KMS > Mga key na pinamamahalaan ng customer, pagkatapos ay piliin ang Gumawa ng Key.
Pumili ng algorithm para sa symmetric encryption.
Pagkagawa ng iyong key, itala ang ARN nito. Kabilang sa mga sinusuportahang format ang
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*, o...:alias/<alias_name>.

2. Gumawa ng custom na patakaran para sa limitadong access sa KMS key
Pumunta sa IAM > Mga Patakaran, pagkatapos ay piliin ang Gumawa ng Patakaran.
Sa hakbang na Tukuyin ang mga pahintulot, piliin ang JSON at ilagay ang sumusunod para pahintulutan ng patakaran ang mga aksyon para sa pag-access sa KMS. Tiyaking palitan ang YOUR_KMS_ARN ng ARN ng key na ginawa mo.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": "<YOUR_KMS_ARN>"
}
]
}3. Gumawa ng IAM role na gagamitin ng OpenAI, at iugnay ito sa patakarang may limitadong access sa iyong KMS
Tatawagin ng OpenAI ang AssumeRole mula sa isang AWS account na pag-aari ng OpenAI. Sa hakbang na ito, magagamit ng AWS principal ng OpenAI ang limitadong role para ma-access ang iyong KMS.
Pumunta sa IAM > Mga Role, pagkatapos ay piliin ang Gumawa ng Role.
Sa hakbang na Pumili ng pinagkakatiwalaang entity, piliin ang Custom na patakaran sa pagtitiwala.

Susunod, ilagay ang sumusunod sa Custom na patakaran sa pagtitiwala para bigyan ng access ang AWS principal ng OpenAI.
Ang principal ay ang AWS principal ng OpenAI:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Tukuyin kung aling ExternalId ang dapat ipasa ng OpenAI sa proseso ng
AssumeRole.Para sa ChatGPT o API, gamitin ang Organization ID (org-xxx) na nauugnay sa iyong workspace: mga setting ng organisasyon.
Para sa API, puwede kang gumamit ng partikular na API project ID para sa mas tiyak na kontrol.
{
"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>"
]
}
}
}
]
}Pagkatapos, sa hakbang na Magdagdag ng mga pahintulot, hanapin ang pangalan ng patakaran sa IAM na ginawa mo sa nakaraang hakbang. Lagyan ng tsek ang checkbox sa tabi ng pangalan ng patakaran, pagkatapos ay piliin ang Susunod.

Panghuli, sa seksyong Pangalanan, suriin, at gawin, pumili ng anumang pangalan para sa role.
4. Maglapat ng anumang karagdagang paghihigpit alinsunod sa sarili mong mga kasanayan sa seguridad
Nasa itaas ang minimum na kinakailangang impormasyon na kailangan ng OpenAI para i-set up ang EKM. Malaya kang maglapat ng karagdagang mga key policy o paghihigpit alinsunod sa sarili mong mga panloob na kasanayan sa seguridad, hangga't magawa ng OpenAI na tawagin ang mga operasyong encrypt at decrypt sa iyong KMS. Kapag tinawag mo ang endpoint ng pagpaparehistro ng key sa OpenAI na inilalarawan sa ibaba, iva-validate namin ang iyong setup.
Pagkatapos makumpleto ang mga hakbang sa itaas
ChatGPT Enterprise
Mangyaring makipag-ugnayan sa iyong contact sa OpenAI at ibahagi ang sumusunod:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"Ang Role ARN na ia-assume ng OpenAI sa iyong cloud.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"Ang ARN ng Key Management System para sa master key na pinamamahalaan mo.
Ie-enable namin ang EKM para sa iyong organisasyon/workspace sa ChatGPT.
API
Irehistro ang iyong external key sa OpenAI
Sundin ang mga tagubilin sa sangguniang ito ng API: Mga External Key sa Management API.
Una, irehistro ang iyong external key sa antas ng organisasyon sa OpenAI. Bubuo ito ng external key ID.
Sa hakbang na ito, titiyakin naming valid ang iyong inilagay at makakapag-authenticate kami sa iyong KMS.
Hindi pa nito idaragdag ang EKM sa iyong proyekto sa 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>"
}'Pagkatapos, gumawa ng proyekto sa OpenAI na nauugnay sa external key. Pagkatapos nito, na-activate ang EKM sa iyong proyekto. Ibibigay sa iyo ng response body ng API call na ito ang project 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"
}'