Información general
La gestión de claves empresariales (EKM) permite a OpenAI cifrar datos mediante una clave maestra que tú controlas. En este documento se muestra cómo configurar tu cuenta de AWS para conceder a OpenAI permisos limitados en tu KMS.

Pasos
1. Crea una nueva clave KMS
Ve a KMS > Claves administradas por el cliente y selecciona Crear clave.
Selecciona un algoritmo de cifrado simétrico.
Una vez creada la clave, anota su ARN. Los formatos admitidos incluyen
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*o...:alias/<alias_name>.

2. Crea una política personalizada con acceso limitado a la clave KMS
Ve a IAM > Políticas y selecciona Crear política.
En el paso Especificar permisos, selecciona JSON e introduce lo siguiente para que la política permita las acciones de acceso a KMS. Asegúrate de sustituir YOUR_KMS_ARN por el ARN de la clave que has creado.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": "<YOUR_KMS_ARN>"
}
]
}3. Crea un rol de IAM que OpenAI pueda asumir y vincúlalo a la política con acceso limitado a tu KMS
OpenAI llamará a AssumeRole desde una cuenta de AWS propiedad de OpenAI. Este paso permite que la entidad principal de AWS de OpenAI asuma el rol con permisos limitados para acceder a tu KMS.
Ve a IAM > Roles y selecciona Crear rol.
En el paso Seleccionar entidad de confianza, selecciona Política de confianza personalizada.

A continuación, introduce lo siguiente en la Política de confianza personalizada para permitir el acceso a la entidad principal de AWS de OpenAI.
La entidad principal es la de AWS de OpenAI:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Indica qué ExternalId debe pasar OpenAI durante el proceso
AssumeRole.Para ChatGPT o la API, utiliza el ID de la organización (org-xxx) asociado a tu Área de trabajo: configuración de la organización.
Para la API, puedes utilizar un ID de proyecto de API específico para un control más detallado.
{
"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>"
]
}
}
}
]
}A continuación, en el paso Añadir permisos, busca el nombre de la política de IAM que has creado en el paso anterior. Marca la casilla situada junto al nombre de la política y selecciona Siguiente.

Por último, en la sección Nombre, revisión y creación, elige un nombre para el rol.
4. Aplica las restricciones adicionales que quieras según tus propias prácticas de seguridad
Lo anterior es la información mínima requerida que OpenAI necesita para configurar EKM. Puedes aplicar políticas de clave o restricciones adicionales según tus propias prácticas de seguridad internas, siempre que OpenAI pueda invocar operaciones de cifrado y descifrado en tu KMS. Cuando llames al punto de acceso de registro de claves de OpenAI descrito a continuación, validaremos tu configuración.
Después de completar los pasos anteriores
ChatGPT Enterprise
Ponte en contacto con tu contacto de OpenAI y comparte lo siguiente:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"El ARN del rol que OpenAI asumirá en tu nube.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"El ARN del sistema de gestión de claves de la clave maestra que gestionas.
Habilitaremos EKM para tu organización/área de trabajo de ChatGPT.
API
Registra tu clave externa en OpenAI
Sigue las instrucciones de esta referencia de la API: claves externas en la API de gestión.
Primero, registra tu clave externa a nivel de organización de OpenAI. Esto generará un ID de clave externa.
En este paso, comprobaremos que los datos introducidos son válidos y que podemos autenticarnos en tu KMS.
Esto aún no activará EKM en tu proyecto de 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>"
}'A continuación, crea un proyecto de OpenAI asociado a la clave externa. Después de esto, EKM queda activado en tu proyecto. El cuerpo de la respuesta de esta llamada a la API te dará el ID de proyecto (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"
}'