Pregled
Enterprise Key Management (EKM) omogućuje OpenAI-ju šifriranje podataka pomoću glavnog ključa kojim vi upravljate. Ovaj dokument pokazuje kako postaviti AWS račun da biste OpenAI-ju dali ograničene dozvole za svoj KMS.

Koraci
1. Izradite novi KMS ključ
Idite na KMS -> Customer managed keys, a zatim kliknite Create Key.
Odaberite simetrični algoritam šifriranja.
Nakon izrade ključa zabilježite njegov ARN. Podržani formati uključuju
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*ili...:alias/<alias_name>.

2. Izradite prilagođeno pravilo za ograničeni pristup KMS ključu
Idite na IAM -> Policies, a zatim kliknite Create Policy.
U koraku Specify permissions odaberite JSON i unesite sljedeće kako biste pravilu dali radnje pristupa KMS-u. Obavezno zamijenite YOUR_KMS_ARN ARN-om ključa koji ste izradili.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}3. Izradite IAM ulogu koju OpenAI može preuzeti i dodijelite je pravilu s ograničenim pristupom vašem KMS-u
OpenAI će pozvati AssumeRole s AWS računa u vlasništvu OpenAI-ja. Ovaj korak omogućuje AWS principalu OpenAI-ja da preuzme ograničenu ulogu za pristup vašem KMS-u.
Idite na IAM -> Roles, a zatim kliknite Create Role.
U koraku Select trusted entity odaberite Custom trust policy.

Zatim unesite sljedeće u Custom trust policy kako biste omogućili pristup AWS principalu OpenAI-ja.
Principal je AWS principal OpenAI-ja:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Navedite koji ExternalId OpenAI treba proslijediti tijekom procesa
AssumeRole.Za ChatGPT ili API upotrijebite ID organizacije (org-xxx) povezan s vašim radnim prostorom: https://platform.api.openai.org/settings/organization/general.
Za API možete upotrijebiti određeni ID API projekta za veću granularnost.
{
"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>,
]
}
}
}
]
}Zatim u koraku Add permissions potražite naziv IAM pravila koje ste izradili u prethodnom koraku. Kliknite potvrdni okvir pokraj naziva pravila, a zatim kliknite Next.

Na kraju, u odjeljku Name, review, and create odaberite bilo koji naziv uloge.
4. Primijenite sva dodatna ograničenja u skladu s vlastitim sigurnosnim praksama
Gore su navedene minimalno potrebne informacije koje OpenAI treba za postavljanje EKM-a. Slobodno primijenite dodatna pravila za ključeve ili ograničenja u skladu s vlastitim internim sigurnosnim praksama, sve dok OpenAI može pozivati operacije šifriranja i dešifriranja na vašem KMS-u. Kada pozovete krajnju točku za registraciju ključa kod OpenAI-ja opisanu u nastavku, provjerit ćemo vaše postavljanje.
Nakon dovršetka prethodnih koraka
ChatGPT Enterprise
Obratite se svojoj kontakt-osobi u OpenAI-ju i podijelite sljedeće:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"ARN uloge koju će OpenAI preuzeti u vašem oblaku.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"ARN sustava za upravljanje ključevima za glavni ključ kojim upravljate.
Omogućit ćemo EKM za vašu ChatGPT organizaciju/radni prostor.
API
Registrirajte svoj vanjski ključ kod OpenAI-ja
Slijedite upute u ovoj API referenci: Vanjski ključevi u Management API-ju.
Najprije registrirajte svoj vanjski ključ na razini OpenAI organizacije, čime će se generirati ID vanjskog ključa.
U ovom ćemo koraku provjeriti je li vaš unos valjan i možemo li se autentificirati na vaš KMS.
Time se EKM još neće dodati vašem OpenAI projektu.
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 konfiguracija",
"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": <vaš ID organizacije ili ID projekta>
}'Zatim izradite OpenAI projekt povezan s vanjskim ključem. Nakon toga EKM je aktiviran na vašem projektu. Tijelo odgovora ovog API poziva dat će vam ID projekta (proj_xxx).
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Neki projekt",
"external_key_id": "extkey_xxxx"
}'