Aperçu
Enterprise Key Management (EKM) permet à OpenAI de chiffrer les données à l’aide d’une clé principale que vous contrôlez. Ce document explique comment configurer votre compte AWS pour accorder à OpenAI des autorisations limitées sur votre KMS.

Étapes
1. Créez une nouvelle clé KMS
Accédez à KMS > Clés gérées par le client, puis sélectionnez Créer une clé.
Sélectionnez un algorithme de chiffrement symétrique.
Une fois votre clé créée, notez son ARN. Les formats pris en charge comprennent
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*ou...:alias/<alias_name>.

2. Créez une politique personnalisée pour limiter l’accès à la clé KMS
Accédez à IAM > Politiques, puis sélectionnez Créer une politique.
À l’étape Spécifier les autorisations, sélectionnez JSON et saisissez ce qui suit pour accorder les actions d’accès à KMS dans la politique. Assurez-vous de remplacer YOUR_KMS_ARN par l’ARN de la clé que vous avez créée.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": "<YOUR_KMS_ARN>"
}
]
}3. Créez un rôle IAM qu’OpenAI pourra endosser et associez-le à la politique d’accès limité à votre KMS
OpenAI appellera AssumeRole à partir d’un compte AWS lui appartenant. Cette étape permet au principal AWS d’OpenAI d’endosser le rôle limité pour accéder à votre KMS.
Accédez à IAM > Rôles, puis sélectionnez Créer un rôle.
À l’étape Sélectionner une entité de confiance, sélectionnez Politique de confiance personnalisée.

Ensuite, saisissez ce qui suit dans la Politique de confiance personnalisée pour autoriser l’accès au principal AWS d’OpenAI.
Le principal est le principal AWS d’OpenAI :
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Indiquez quel ExternalId OpenAI doit transmettre lors du processus
AssumeRole.Pour ChatGPT ou l’API, utilisez l’identifiant d’organisation (org-xxx) associé à votre espace de travail : paramètres de l’organisation.
Pour l’API, vous pouvez utiliser un identifiant de projet API spécifique pour un contrôle plus précis.
{
"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>"
]
}
}
}
]
}Ensuite, à l’étape Ajouter des autorisations, recherchez le nom de la politique IAM que vous avez créée à l’étape précédente. Cochez la case à côté du nom de la politique, puis sélectionnez Suivant.

Enfin, dans la section Nommer, vérifier et créer, choisissez un nom de rôle.
4. Appliquez toute restriction supplémentaire conformément à vos propres pratiques de sécurité
Ci-dessus se trouvent les renseignements minimaux requis dont OpenAI a besoin pour configurer EKM. Vous pouvez appliquer des stratégies de clé ou des restrictions supplémentaires conformément à vos propres pratiques de sécurité internes, pourvu qu’OpenAI puisse appeler les opérations de chiffrement et de déchiffrement sur votre KMS. Lorsque vous appellerez l’endpoint d’enregistrement de clé avec OpenAI décrit ci-dessous, nous validerons votre configuration.
Après avoir terminé les étapes ci-dessus
ChatGPT Enterprise
Veuillez communiquer avec votre contact OpenAI et partager ce qui suit :
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"L’ARN du rôle qu’OpenAI assumera dans votre nuage.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"L’ARN du système de gestion de clés pour la clé principale que vous gérez.
Nous activerons EKM pour votre organisation/espace de travail ChatGPT.
API
Enregistrez votre clé externe auprès d’OpenAI
Suivez les instructions de cette référence de l’API : Clés externes dans l’API de gestion.
Enregistrez d’abord votre clé externe au niveau de l’organisation OpenAI, ce qui générera un identifiant de clé externe.
À cette étape, nous vérifierons que les données saisies sont valides et que nous pouvons nous authentifier auprès de votre KMS.
Cela n’ajoutera pas encore EKM à votre projet 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>"
}'Ensuite, créez un projet OpenAI associé à la clé externe. Après cela, EKM est activé dans votre projet. Le corps de la réponse de cet appel d’API vous donnera l’ID de projet (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"
}'