OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Instructions d’intégration OpenAI / AWS EKM

Instructions étape par étape pour configurer AWS et activer EKM

Mise à jour : 8 days ago

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.

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

Étapes

1. Créez une nouvelle clé KMS

  1. Allez à KMS -> Clés gérées par le client, puis cliquez sur Créer une clé.

  2. Sélectionnez un algorithme de chiffrement symétrique.

  3. 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>.

AWS KMS customer managed key details page with key ID and ARN for test-kms

2. Créez une stratégie personnalisée pour un accès limité à la clé KMS

  1. Allez à IAM -> Politiques, puis cliquez sur Créer une stratégie.

  2. À l’étape Spécifier les autorisations, sélectionnez JSON et entrez ce qui suit pour donner à la stratégie les actions d’accès KMS. Assurez-vous de remplacer YOUR_KMS_ARN par l’ARN de la clé que vous avez créée.

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
    "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 assumer, et attribuez-le à la stratégie avec un accès limité à votre KMS

OpenAI appellera AssumeRole à partir d’un compte AWS appartenant à OpenAI. Cette étape permet au principal AWS d’OpenAI d’assumer le rôle limité pour accéder à votre KMS.

  1. Allez à IAM -> Rôles, puis cliquez sur Créer un rôle.

  2. À l’étape Sélectionner l’entité de confiance, sélectionnez Politique d’approbation personnalisée.

AWS IAM Select trusted entity screen with Custom trust policy selected

Ensuite, entrez ce qui suit dans la Politique d’approbation 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 pendant le processus AssumeRole.

{
    "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 stratégie IAM que vous avez créée à l’étape précédente. Cliquez sur la case à cocher à côté du nom de la stratégie, puis cliquez sur Suivant.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

Enfin, dans la section Nommer, réviser et créer, sélectionnez n’importe quel 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

Enregistrer votre clé externe auprès d’OpenAI

Suivez les instructions dans cette référence d’API : Clés externes dans l’API de gestion.

  1. D’abord, enregistrez votre clé externe au niveau de l’organisation OpenAI, ce qui générera un ID de clé externe.

  2. À cette étape, nous validerons que votre entrée est valide et que nous pouvons nous authentifier auprès de votre KMS.

  3. 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": "Config 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": <votre ID d’organisation ou ID de projet>
}'

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": "Un projet",

   "external_key_id": "extkey_xxxx"
}'

Cet article vous a-t-il été utile?