Descripción general
La gestión de claves empresariales (EKM) permite cifrar el contenido de sus clientes en OpenAI mediante claves administradas por su propio sistema externo de gestión de claves (KMS). Está disponible tanto para ChatGPT Enterprise como para la API.
OpenAI admite el cifrado Bring Your Own Key (BYOK) con cuentas externas en AWS KMS, Google Cloud (GCP) y Azure Key Vault.
Actualmente, la implementación de EKM se limita a Áreas de trabajo Enterprise y Edu que tengan asignado un representante de cuenta de OpenAI.
Cómo funciona el cifrado EKM de OpenAI
Flujo de alto nivel
Generamos una Data Encryption Key (DEK) para su proveedor de nube.
Su KMS en la nube gestiona una Key Encryption Key (KEK) maestra, ya sea almacenada en su nube o externamente. La implementación depende de usted.
Solicitamos el cifrado de la DEK a su nube para obtener una DEK cifrada (eDEK). Si su KEK se almacena externamente, su nube simplemente realiza un salto adicional a su almacén externo, en un paso que es opaco para OpenAI.
Cifrado
Durante el cifrado, sus datos se cifran con la DEK y la eDEK se almacena como metadatos del archivo.

Descifrado
Al descifrar, solicitamos que su KMS en la nube descifre la eDEK en la DEK, y desciframos los datos con la DEK.

Términos clave
Data Encryption Key (DEK) - la clave que cifra sus datos.
Encrypted Data Encryption Key (eDEK) - la DEK cifrada, generada por su KMS
Key Encryption Key (KEK) - la clave maestra que usted gestiona y que cifra la DEK -> eDEK y descifra eDEK -> DEK. Esta clave siempre permanece fuera de los sistemas de OpenAI.
Requisitos generales para la implementación
En su proveedor de nube
Cree una clave nueva en el KMS de su nube (Azure, AWS o GCP).
Cree una política personalizada y limitada con permisos Encrypt/Decrypt en el KMS.
Cree para OpenAI una política de confianza (AWS), una identidad de carga de trabajo (GCP) o una entidad de servicio (Azure).
Asigne a OpenAI un rol con la política limitada para acceder a su KMS.
En las plataformas de OpenAI
ChatGPT Enterprise
Cree un Área de trabajo de ChatGPT de entorno de pruebas para fines de prueba.
API
En su panel de OpenAI, cree un proyecto nuevo donde se aplicará el cifrado.
Funciones específicas del proveedor
Para AWS, OpenAI:
Llamará a AssumeRole con un ExternalID
Para GCP, OpenAI:
Llamará a su punto de acceso STS desde una cuenta de GCP de OpenAI
Usará el token de acceso de GCP para llamar a encrypt/decrypt en su KMS.
Para Azure, OpenAI:
Solicitará un token de acceso para el almacén de su inquilino de Azure
Usará ese token de acceso para llamar a encrypt/decrypt en su Key Vault.
Información que necesita de OpenAI
Autenticación
Deberá reconocer los tokens de identidad federada de OpenAI para AWS y GCP. En Azure, deberá reconocer el ID de aplicación de OpenAI para su registro de aplicaciones.
Resumen de los parámetros de autenticación
| Entidad principal de OpenAI en AWS | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID de cuenta de servicio de OpenAI en GCP | 105900137572174660365 |
| ID de aplicación de OpenAI en Azure | 20a14814-5ab7-4612-a671-1382b412bf93 |
Información necesaria durante la implementación según el proveedor de nube
Para AWS, debe configurar una política de confianza que reconozca lo siguiente:
Para GCP, debe configurar una identidad de carga de trabajo que reconozca lo siguiente:
Para Azure, debe crear una entidad de servicio en su inquilino de Azure para el registro de la aplicación de OpenAI.
Créela para el ID de cliente de la aplicación de OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Puede hacerlo enviando una solicitud POST al punto de acceso https://graph.microsoft.com/v1.0/servicePrincipals.
Autorización
Deberá crear una política que permita a la identidad de OpenAI obtener acceso limitado a su KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Otros
En Azure, para el tipo de clave (algoritmo de cifrado de claves), seleccione RSA, no EC.
Información que OpenAI necesita de usted
Siga las instrucciones de este documento para registrar su KMS en OpenAI. A continuación se resumen los parámetros que deberá proporcionar.
Autenticación
AWS
GCP
Azure
ID de inquilino
| AWS | GCP | Azure | |
| Autenticación | ID de inquilino | ||
| KMS | ARN de KMS (ejemplo: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID del proyecto de KMS (ejemplo: adjective-noun-12345) Nombre del anillo de claves de KMS Nombre de la clave de KMS Ubicación de la clave de KMS (ejemplo: us-east1) | URI del almacén (ejemplo: https://your-vault-name.vault.azure.net/) Nombre de la clave |
Después de registrar su KMS en OpenAI, siga las instrucciones del documento para activar la configuración de EKM en un proyecto de API. Cree un proyecto nuevo de la API de OpenAI para realizar pruebas.
Guías de implementación específicas de cada proveedor
Para obtener instrucciones paso a paso, consulte los enlaces correspondientes que aparecen a continuación. Tenga en cuenta que se centran en los requisitos de integración con OpenAI y no pretenden ser una guía completa de todo su entorno.
Funciones no compatibles si EKM está activado
Las siguientes funciones no están disponibles si EKM está activado:
Funciones que no están disponibles de forma general, incluidas las funciones en beta o alfa.
