Información general
Enterprise Key Management (EKM) permite a OpenAI cifrar datos mediante una clave maestra que usted controla. Para que OpenAI pueda llamar a operaciones de cifrado/descifrado en su Key Vault, necesitaremos que se nos conceda acceso. Este documento muestra cómo configurar su cuenta de Azure para que OpenAI pueda asumir un rol con permisos de Key Vault.

Pasos
1. Cree una entidad de servicio para OpenAI en su cuenta
Obtenga un token de acceso
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. Cree la entidad de servicio: el appId de la solicitud siguiente es el ID de cliente de la aplicación de OpenAI. Esto creará una entidad con el nombre para mostrar «EKM - OpenAI Azure»; recuérdelo para los pasos posteriores.
Instrucciones de integración de OpenAI / Azure EKM - Crear entidad de servicio
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. Cree un rol personalizado para acceso limitado a KMS
Vaya a Subscriptions -> Access Control (IAM)
En el menú desplegable + Add , seleccione Add custom role
Vaya a la pestaña JSON, haga clic en Edit y añada lo siguiente
Cualquier nombre de rol; recuerde el nombre que seleccionó
Los siguientes permisos en dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

3. Cree un Key Vault + Key
Si aún no tiene uno, cree un Key Vault nuevo en la misma suscripción donde acaba de crear su rol personalizado
En ese Key Vault, cree una nueva Key:
Vaya a Key Vault -> Objects -> Keys y luego haga clic en Generate/Import
En Options, seleccione Generate

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

Si no puede ver o crear una clave, asegúrese de que tiene el rol Key Vault Administrator. Esto es necesario incluso si tiene el rol Owner. Para que se le asigne el rol:
Vaya a Key Vault->Access Control (IAM)
Haga clic en Add-> Add role assignment

4. Cree una asignación de rol para la entidad de servicio de OpenAI + el nuevo KMS personalizado + la nueva clave
Vaya a Key Vault -> Objects -> Keys y luego haga clic en la fila de la clave que creó
Vaya a Access control (IAM) de la clave en la que acaba de hacer clic (no de su key vault).
En el menú desplegable + Add, seleccione Add role assignment

En la pestaña Role, seleccione el nombre del rol personalizado que acaba de crear.

En la pestaña Members:
Haga clic en «+ Select members»
Escriba «ekm -» en la barra de búsqueda; a continuación debería cargarse la entidad de servicio de OpenAI que creó en el paso 1

5. Aplique cualquier restricción adicional conforme a sus propias prácticas de seguridad
Lo anterior es la información mínima necesaria que OpenAI necesita para configurar EKM. Puede aplicar políticas de clave o restricciones adicionales conforme a sus propias prácticas internas de seguridad, siempre que OpenAI pueda llamar a las operaciones de cifrado y descifrado en su KMS. Cuando llame al punto de acceso de registro de claves con OpenAI que se describe a continuación, validaremos su configuración.
Después de completar los pasos anteriores
ChatGPT Enterprise
Póngase en contacto con su contacto de OpenAI y comparta lo siguiente:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
Su UUID de 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 usted gestiona
"key_name": "<YOUR_KEY_NAME>"
El nombre de la clave maestra de Azure Key Vault que usted gestiona
El nombre de la clave debe tener la forma <org-xxx>--<any_name>, donde org-xxx es el ID de su organización de OpenAI, que puede encontrar en https://platform.openai.com/settings/organization/general
Habilitaremos EKM para su organización/Área de trabajo de ChatGPT.
API
Registre su clave externa con OpenAI
Siga las instrucciones de esta referencia de la API Claves externas en la API de gestión
Primero, registre su clave externa en el nivel de organización de OpenAI, lo que generará un ID de clave externa con la forma extkey_xxx
En este paso, validaremos que su entrada sea válida y que podamos autenticarnos en su KMS.
Esto todavía no añadirá EKM a su proyecto de OpenAI.
# Esto genera un ID de clave externa con la forma 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, cree un proyecto de OpenAI asociado a la clave externa. Después de esto, EKM se activará en su proyecto.
El cuerpo de respuesta de esta llamada a la API le 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"
}'