Aperçu
Enterprise Key Management (EKM) vous permet de chiffrer votre contenu client chez OpenAI à l’aide de clés gérées par votre propre système externe de gestion des clés (KMS), offert pour ChatGPT Enterprise et l’API.
OpenAI prend en charge le chiffrement Bring Your Own Key (BYOK) avec des comptes externes dans AWS KMS, Google Cloud (GCP) et Azure Key Vault.
À l’heure actuelle, la mise en œuvre d’EKM est limitée aux espaces de travail Enterprise et Edu ayant un représentant de compte OpenAI attitré.
Fonctionnement du chiffrement EKM d’OpenAI
Flux de haut niveau
Nous générons une Data Encryption Key (DEK) pour votre fournisseur infonuagique.
Votre KMS infonuagique gère une Key Encryption Key (KEK) maîtresse, stockée soit dans votre nuage, soit à l’externe. La mise en œuvre vous revient.
Nous demandons à votre nuage de chiffrer la DEK afin d’obtenir une encrypted DEK (eDEK). Si votre KEK est stockée à l’externe, votre nuage effectue simplement un saut supplémentaire vers votre magasin externe, dans une étape opaque pour OpenAI.
Chiffrement
Au moment du chiffrement, vos données sont chiffrées avec la DEK et l’eDEK est stockée comme métadonnée sur le fichier.

Déchiffrement
Au moment du déchiffrement, nous demandons à votre KMS infonuagique de déchiffrer l’eDEK en DEK, puis nous déchiffrons les données avec la DEK.

Termes clés
Data Encryption Key (DEK) - la clé qui chiffre vos données.
Encrypted Data Encryption Key (eDEK) - la DEK chiffrée, générée par votre KMS
Key Encryption Key (KEK) - la clé maîtresse que vous gérez et qui chiffre la DEK -> eDEK et déchiffre eDEK -> DEK. Cette clé demeure toujours à l’extérieur des systèmes d’OpenAI.
Exigences générales de mise en œuvre
Dans votre fournisseur infonuagique
Créez une nouvelle clé dans votre KMS infonuagique (Azure, AWS ou GCP)
Créez une stratégie personnalisée et restreinte avec des autorisations Encrypt/Decrypt sur le KMS
Créez une stratégie d’approbation (AWS), une identité de charge de travail (GCP) ou un principal de service (pour Azure) pour OpenAI
Attribuez à OpenAI un rôle avec la stratégie restreinte pour accéder à votre KMS
Dans les plateformes OpenAI
ChatGPT Enterprise
Créez un espace de travail ChatGPT sandbox à des fins de test.
API
Dans votre tableau de bord OpenAI, créez un nouveau projet auquel le chiffrement sera appliqué.
Fonctions propres au fournisseur
Pour AWS, OpenAI va :
Appeler AssumeRole avec un ExternalID
Pour GCP, OpenAI va :
Appeler votre endpoint STS à partir d’un compte GCP OpenAI
Utiliser le token d’accès GCP pour appeler encrypt/decrypt sur votre KMS.
Pour Azure, OpenAI va :
Demander un token d’accès pour le coffre de votre locataire Azure
Utiliser ce token d’accès pour appeler encrypt/decrypt sur votre Key Vault.
Renseignements dont vous avez besoin de la part d’OpenAI
Authentification
Vous devrez reconnaître les jetons d’identité fédérée d’OpenAI pour AWS et GCP. Pour Azure, vous devrez reconnaître l’ID d’application d’OpenAI pour son inscription d’application.
Résumé des paramètres d’authentification
| Principal AWS d’OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID du compte de service GCP d’OpenAI | 105900137572174660365 |
| ID d’application Azure d’OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Renseignements requis pendant la mise en œuvre selon votre fournisseur infonuagique
Pour AWS, vous devez configurer une stratégie d’approbation qui reconnaît :
Le principal OpenAI (numéro de compte + rôle)
Un ExternalID correspondant à l’ID de votre projet OpenAI
Pour GCP, vous devez configurer une identité de charge de travail qui reconnaît :
L’ID de compte de service d’OpenAI
Une audience correspondant à l’ID de votre projet OpenAI
Pour Azure, vous devez créer un principal de service dans votre locataire Azure pour l’inscription d’application d’OpenAI
Créez-en un pour l’ID client d’application d’OpenAI : 20a14814-5ab7-4612-a671-1382b412bf9
Vous pouvez le faire en publiant vers l’endpoint https://graph.microsoft.com/v1.0/servicePrincipals.
Autorisation
Vous devrez créer une stratégie qui permet à l’identité d’OpenAI d’obtenir un accès limité à votre KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Autre
Dans Azure, pour le type de clé (algorithme de chiffrement de clé), sélectionnez RSA, et non EC.
Renseignements dont OpenAI a besoin de votre part
Suivez les instructions de ce document pour enregistrer votre KMS auprès d’OpenAI. Voici un résumé des paramètres que vous devrez fournir.
Liés à l’authentification
AWS
IAM Role ARN - rôle qu’OpenAI doit assumer (exemple : arn:aws:iam::123456789:role/role-name)
ExternalID - l’ID de votre organisation OpenAI
GCP
Numéro de projet Workload Identity (exemple : 123456789)
ID du pool Workload Identity
ID du fournisseur Workload Identity
Audience autorisée : l’ID de votre organisation OpenAI
Azure
ID de locataire
| AWS | GCP | Azure | |
| Liés à l’authentification | ID de locataire | ||
| Liés au KMS | KMS ARN - (exemple : arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID du projet KMS (exemple : adjective-noun-12345)Nom du trousseau de clés KMSNom de la clé KMSEmplacement de la clé KMS (exemple : us-east1) | URI du coffre (exemple : https://your-vault-name.vault.azure.net/)Nom de la clé |
Après avoir enregistré votre KMS auprès d’OpenAI, continuez de suivre les instructions du document pour activer votre configuration EKM sur un projet API. Créez un nouveau projet API OpenAI à des fins de test.
Guides de mise en œuvre propres au fournisseur
Pour obtenir des directives étape par étape, consultez les liens correspondants ci-dessous. Veuillez noter qu’ils portent sur les exigences d’intégration avec OpenAI et ne visent pas à servir de guide exhaustif pour l’ensemble de votre environnement
Fonctionnalités non prises en charge si EKM est activé
Dans cette version initiale, les fonctionnalités suivantes ne sont pas offertes si EKM est activé :
Applications avec synchronisation
Fonctionnalités qui ne sont pas en disponibilité générale (c.-à-d. tout ce qui est encore en bêta/alpha)
