Descripción general
La administración empresarial de claves (EKM) permite que OpenAI cifre los datos mediante una clave maestra que tú controlas. Para que OpenAI pueda realizar operaciones de cifrado/descifrado en tu Key Vault, necesitamos que se nos conceda acceso. Este documento muestra cómo configurar tu cuenta de Azure para que OpenAI pueda asumir un rol con permisos de Key Vault.

Pasos
1. Crea una entidad de servicio para OpenAI en tu cuenta
Obtén un token de acceso
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. Crea la entidad de servicio: el appId de la solicitud a continuación es el identificador de cliente de la aplicación de OpenAI. Esto creará una entidad principal con el nombre para mostrar “EKM - OpenAI Azure”; recuerda esto para los pasos posteriores.
Instrucciones para la integración de OpenAI/Azure EKM: crear una entidad principal
curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'2.º Crea un rol personalizado para acceso limitado a KMS.
Ve a Suscripciones -> Control de acceso (IAM)
En el menú desplegable + Agregar , selecciona Agregar rol personalizado
Ve a la pestaña JSON, haz clic en Editar y agrega lo siguiente
Cualquier nombre de rol, recuerda el nombre que seleccionaste
Los siguientes permisos en dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

3. Crea un Key Vault + clave
Si aún no tienes uno, crea un nuevo Key Vault en la misma suscripción donde acabas de crear tu rol personalizado.
En ese Key Vault, crea una nueva clave:
Ve a Key Vault -> Objetos -> Claves y luego haz clic en Generar/Importar
En Opciones, selecciona Generar

Selecciona RSA como algoritmo de cifrado.
Puedes seleccionar cualquier tamaño de clave RSA
Proporciona un nombre de clave con el siguiente formato: <org-xxx>--<any_name>, donde org-xxx es tu ID de organización de OpenAI, que puedes encontrar en https://platform.openai.com/settings/organization/general

Si no puedes ver o crear una clave, cerciórate de tener el rol de Administrador de Key Vault. Esto es necesario incluso si tienes el rol de Propietario. Para que te asignen el rol:
Ve a Key Vault->Control de acceso (IAM)
Haz clic en Agregar-> Agregar asignación de roles

4. Crear una asignación de roles para la entidad de servicio de OpenAI + un nuevo KMS personalizado + una nueva clave
Ve a Key Vault -> Objetos-> Claves y luego haz clic en la fila de la clave que creaste
Ve a Control de acceso (IAM) para la clave en la que acabas de hacer clic (no para tu almacén de claves).
En el menú desplegable + Agregar, selecciona Agregar asignación de roles

En la pestaña Rol, selecciona el nombre del rol personalizado que acabas de crear.

En la pestaña Miembros:
Haz clic en “+ Seleccionar miembros”
Escribe “ekm -” en la barra de búsqueda; luego, debería cargarse la entidad de servicio de OpenAI que creaste en el paso 1.

5. Aplica restricciones adicionales de acuerdo con tus propias prácticas de seguridad
Arriba se encuentra la información mínima requerida que OpenAI necesita para configurar EKM. Tienes la libertad de aplicar políticas de claves o restricciones adicionales de acuerdo con tus propias prácticas internas de seguridad, siempre que OpenAI pueda realizar operaciones de cifrado y descifrado en tu KMS. Cuando llames al punto de acceso de registro de claves con OpenAI que se describe a continuación, validaremos tu configuración.
Después de completar los pasos anteriores.
ChatGPT Enterprise
Comunícate con tu contacto de OpenAI y comparte lo siguiente:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
Tu UUID del inquilino de Azure
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
El URI del almacén de Azure que contiene la clave maestra que administra
"key_name": "<YOUR_KEY_NAME>"
El nombre de la clave maestra de Azure Key Vault que gestionas
El nombre de la clave debe tener la forma <org-xxx>--<any_name>, donde org-xxx es tu ID de organización de OpenAI, que puedes encontrar en https://platform.openai.com/settings/organization/general
Habilitaremos EKM para tu organización/espacio de trabajo de ChatGPT.
API
Registra tu clave externa con OpenAI
Sigue las instrucciones de esta referencia de la API Claves externas en la API de administración
Primero, registra tu clave externa a nivel de la organización de OpenAI, lo que generará un id. de clave externa con el formato extkey_xxx
En este paso, verificaremos que la información que ingresaste sea válida y que podamos autenticarnos en tu KMS.
Esto aún no agregará EKM a tu proyecto de OpenAI.
# Esto genera un ID de clave externa con el formato extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'Luego, crea un proyecto de OpenAI asociado con la clave externa. Después de esto, EKM se activa en tu proyecto.
El cuerpo de la respuesta de esta llamada a la API te proporcionará el ID del proyecto (proj_xxx)
Instrucciones de integración de OpenAI / Azure EKM - Crear proyecto
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"
}'