Přehled
Enterprise Key Management (EKM) umožňuje OpenAI šifrovat data pomocí hlavního klíče, který řídíte vy. Tento dokument ukazuje, jak nastavit váš účet AWS tak, aby měl OpenAI omezená oprávnění k vašemu KMS.

Kroky
1. Vytvořte nový klíč KMS
Přejděte na KMS -> Customer managed keys a klikněte na Create Key
Vyberte symetrický šifrovací algoritmus
Po vytvoření klíče si poznamenejte jeho ARN. Podporované formáty zahrnují arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-*, nebo ...:alias/<alias_name>

2. Vytvořte vlastní zásadu pro omezený přístup ke klíči KMS
Přejděte na IAM -> Policies a klikněte na Create Policy
V kroku Specify permissions vyberte JSON a zadejte následující, aby zásada získala akce přístupu ke KMS. Nezapomeňte nahradit YOUR_KMS_ARN ARN klíče, který jste vytvořili.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}
3. Vytvořte roli IAM, kterou bude OpenAI přebírat, a přiřaďte jí zásadu s omezeným přístupem k vašemu KMS
OpenAI bude volat AssumeRole z účtu AWS vlastněného OpenAI. Tento krok potvrzuje, že AWS principal OpenAI může převzít omezenou roli pro přístup k vašemu KMS.
Přejděte na IAM -> Roles a klikněte na Create Role
V kroku Select trusted entity vyberte Custom trust policy

Do Custom trust policy zadejte následující, aby byl povolen přístup pro AWS principal OpenAI.
Principal je AWS principal OpenAI - arn:aws:iam::790389265272:role/EnterpriseKeyManagement
Uveďte, které Externald má OpenAI předávat během procesu AssumeRole.
Pro ChatGPT nebo API můžete použít ID organizace (org-xxx) přidružené k vašemu pracovnímu prostoru - https://platform.api.openai.org/settings/organization/general
Pro API můžete pro větší granularitu zadat konkrétní ID API projektu
{
"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>,
]
}
}
}
]
}
V kroku Add permissions vyhledejte název zásady IAM, kterou jste vytvořili v předchozím kroku. Klikněte na zaškrtávací políčko vedle názvu zásady a potom klikněte na Next.

V části Name, review, and create vyberte libovolný název role.
4. Použijte případná další omezení v souladu se svými bezpečnostními postupy
Výše jsou uvedeny minimální požadované informace, které OpenAI potřebuje k nastavení EKM. Můžete použít další zásady klíčů nebo omezení v souladu se svými interními bezpečnostními postupy, pokud OpenAI bude moci volat operace encrypt a decrypt na vašem KMS. Když zavoláte koncový bod pro registraci klíče v OpenAI popsaný níže, ověříme vaše nastavení.
Po dokončení výše uvedených kroků
ChatGPT Enterprise
Obraťte se prosím na svůj kontakt v OpenAI a sdílejte následující:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
Role ARN, kterou bude OpenAI přebírat ve vašem cloudu
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"
ARN systému správy klíčů pro hlavní klíč, který spravujete
Pro vaši organizaci/pracovní prostor ChatGPT povolíme EKM.
API
Zaregistrujte svůj externí klíč u OpenAI
Postupujte podle pokynů v této referenci API Externí klíče v Management API
Nejprve zaregistrujte svůj externí klíč na úrovni organizace OpenAI, čímž se vygeneruje ID externího klíče.
V tomto kroku ověříme, že jsou vaše vstupní údaje platné a že se můžeme ověřit vůči vašemu KMS.
Tím se EKM do vašeho projektu OpenAI zatím nepřidá.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "aws",
"name": "Konfigurace AWS EKM",
"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": <ID vaší organizace nebo projektu>
}'Poté vytvořte projekt OpenAI přidružený k externímu klíči. Poté se ve vašem projektu aktivuje EKM.
Tělo odpovědi tohoto volání API vám poskytne ID projektu (proj_xxx)
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Nějaký projekt",
"external_key_id": "extkey_xxxx"
}'
