OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Instrucciones de integración de OpenAI / Azure EKM

Instrucciones paso a paso para aprovisionar Azure y activar EKM

Actualización: 6 days ago

Información general

Enterprise Key Management (EKM) permite a OpenAI cifrar datos usando una clave maestra que tú controlas. Para que OpenAI pueda llamar a operaciones de cifrado/descifrado en tu Key Vault, necesitaremos 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.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

Pasos

1. Crea una entidad de servicio para OpenAI en tu cuenta

  1. Obtener un token de acceso

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Crea 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érdalo para los pasos posteriores.

Instrucciones de integración de OpenAI / Azure EKM: crear una 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. Crea un rol personalizado para acceso limitado a KMS

  1. Ve a Suscripciones -> Control de acceso (IAM)

  2. En el desplegable + Agregar, selecciona Agregar rol personalizado

  3. Ve a la pestaña JSON, haz clic en Editar y añade lo siguiente:

    1. Cualquier nombre de rol: recuerda el nombre que has seleccionado

    2. Los siguientes permisos en dataActions:

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

OpenAI / Azure EKM Integration Instructions Custom Role

3. Crea un Key Vault + clave

Si aún no tienes uno, crea un Key Vault nuevo en la misma suscripción donde acabas de crear tu rol personalizado.

En ese Key Vault, crea una clave nueva:

  1. Ve a Key Vault -> Objetos -> Claves y, a continuación, haz clic en Generar/Importar

  2. En Opciones, selecciona Generar

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Selecciona RSA como algoritmo de cifrado.

  2. Puedes seleccionar cualquier tamaño de clave RSA

  3. Proporciona un nombre de clave con el siguiente formato: <org-xxx>--<any_name>, donde org-xxx es el ID de tu organización de OpenAI, que puedes encontrar en https://platform.openai.com/settings/organization/general

Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

Si no puedes ver ni crear una clave, asegúrate de tener el rol Administrador de Key Vault. Esto es necesario incluso si tienes el rol de propietario. Para que se te asigne el rol:

  1. Ve a Key Vault -> Control de acceso (IAM)

  2. Haz clic en Agregar -> Agregar asignación de rol

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. Crea una asignación de rol para la entidad de servicio de OpenAI + KMS personalizado nuevo + clave nueva

  1. Ve a Key Vault -> Objetos -> Claves y haz clic en la fila de la clave que has creado

  2. Ve a Control de acceso (IAM) de la clave en la que acabas de hacer clic (no a tu almacén de claves).

  3. En el desplegable + Agregar, selecciona Agregar asignación de rol

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. En la pestaña Rol, selecciona el nombre del rol personalizado que acabas de crear.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. En la pestaña Miembros:

    1. Haz clic en «+ Seleccionar miembros»

    2. Escribe «ekm -» en la barra de búsqueda; entonces debería cargarse la entidad de servicio de OpenAI que creaste en el paso 1

Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

5. Aplica cualquier restricción adicional de acuerdo con tus propias prácticas de seguridad

Lo anterior es la información mínima que OpenAI necesita para configurar EKM. Puedes aplicar políticas de claves o restricciones adicionales de acuerdo con tus propias prácticas de seguridad internas, siempre que OpenAI pueda llamar a 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

Ponte en contacto con tu contacto de OpenAI y comparte lo siguiente:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

  • "key_name": "<YOUR_KEY_NAME>"

  • El nombre de la clave maestra de Azure Key Vault que gestionas

  • El nombre de la clave debe tener el formato <org-xxx>--<any_name>, donde org-xxx es el ID de tu organización de OpenAI, que puedes encontrar en https://platform.openai.com/settings/organization/general

Habilitaremos EKM para tu organización/área de trabajo de ChatGPT.

API

Registrar tu clave externa con OpenAI

Sigue las instrucciones de esta referencia de la API: Claves externas en la API de gestión

  • Primero, registra tu clave externa en el nivel de organización de OpenAI, lo que generará un id. de clave externa con el formato extkey_xxx

  • En este paso, validaremos que tu entrada sea válida y que podamos autenticarnos en tu KMS.

  • Esto aún no añadirá EKM a tu proyecto de OpenAI.

# This generates an external key ID of the form 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>"
}'
  • A continuación, crea un proyecto de OpenAI asociado con la clave externa. Después de esto, EKM estará activado en tu proyecto.

  • El cuerpo de la respuesta de esta llamada a la API te proporcionará el ID del 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"
}'

¿Te ha resultado útil este artículo?