Oversikt
Enterprise Key Management (EKM) lar OpenAI kryptere data ved hjelp av en hovednøkkel som du kontrollerer. Dette dokumentet viser hvordan du setter opp AWS-kontoen din for å gi OpenAI begrensede tillatelser til KMS-en din.

Trinn
1. Opprett en ny KMS-nøkkel
Gå til KMS -> Customer managed keys, og klikk deretter på Create Key
Velg en symmetrisk krypteringsalgoritme
Når nøkkelen er opprettet, merker du deg ARN-en. Støttede formater inkluderer arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-*, eller ...:alias/<alias_name>

2. Opprett en egendefinert policy for begrenset tilgang til KMS-nøkkelen
Gå til IAM -> Policies, og klikk deretter på Create Policy
I trinnet Specify permissions velger du JSON og angir følgende for å gi policyen tilgangshandlinger for KMS. Sørg for at du erstatter YOUR_KMS_ARN med ARN-en til nøkkelen du opprettet.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}
3. Opprett en IAM-rolle som OpenAI kan overta, og tilordne den til policyen med begrenset tilgang til KMS-en din
OpenAI vil kalle AssumeRole fra en AWS-konto som eies av OpenAI. Dette trinnet bekrefter at OpenAIs AWS-prinsipal kan overta den begrensede rollen for å få tilgang til KMS-en din.
Gå til IAM -> Roles og klikk deretter på Create Role
I trinnet Select trusted entity velger du Custom trust policy

Angi følgende i Custom trust policy for å gi tilgang til OpenAIs AWS-prinsipal.
Prinsipalen er OpenAIs AWS-prinsipal - arn:aws:iam::790389265272:role/EnterpriseKeyManagement
Angi hvilken Externald OpenAI skal sende med under AssumeRole-prosessen.
For ChatGPT eller API kan du bruke organisasjons-ID-en (org-xxx) som er knyttet til arbeidsområdet ditt - https://platform.api.openai.org/settings/organization/general
For API kan du angi en spesifikk API-prosjekt-ID for mer detaljstyring
{
"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>,
]
}
}
}
]
}
I trinnet Add permissions søker du etter policynavnet til IAM-policyen du opprettet i forrige trinn. Klikk på avmerkingsboksen ved siden av policynavnet, og klikk deretter på Next.

I delen Name, review, and create velger du et valgfritt rollenavn.
4. Bruk eventuelle ekstra begrensninger i tråd med dine egne sikkerhetsrutiner
Ovenfor er den minimumsinformasjonen som kreves for at OpenAI skal kunne sette opp EKM. Du står fritt til å bruke ekstra nøkkelpolicyer eller begrensninger i tråd med dine egne interne sikkerhetsrutiner, så lenge OpenAI kan utføre krypterings- og dekrypteringsoperasjoner på KMS-en din. Når du kaller endepunktet for nøkkelregistrering hos OpenAI som er beskrevet nedenfor, validerer vi oppsettet ditt.
Etter at du har fullført trinnene ovenfor
ChatGPT Enterprise
Ta kontakt med OpenAI-kontakten din og del følgende:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
Rolle-ARN-en som OpenAI vil overta i skyen din
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"
Key Management System-ARN-en for hovednøkkelen du administrerer
Vi vil aktivere EKM for ChatGPT-organisasjonen/arbeidsområdet ditt.
API
Registrer den eksterne nøkkelen din hos OpenAI
Følg instruksjonene i denne API-referansen Eksterne nøkler i Management API
Registrer først den eksterne nøkkelen din på OpenAI-organisasjonsnivå, noe som vil generere en ekstern nøkkel-ID.
I dette trinnet validerer vi at inndataene dine er gyldige, og at vi kan autentisere mot KMS-en din.
Dette vil ikke legge til EKM i OpenAI-prosjektet ditt ennå.
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-konfigurasjon",
"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": <organisasjons-ID-en eller prosjekt-ID-en din>
}'Deretter oppretter du et OpenAI-prosjekt som er knyttet til den eksterne nøkkelen. Etter dette er EKM aktivert på prosjektet ditt.
Svarteksten i dette API-kallet vil gi deg prosjekt-ID-en (proj_xxx)
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Et prosjekt",
"external_key_id": "extkey_xxxx"
}'
