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: 4 days ago

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.

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

Pasos

1. Cree una entidad de servicio para OpenAI en su cuenta

  1. Obtenga un token de acceso

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID

2. 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

  1. Vaya a Subscriptions -> Access Control (IAM)

  2. En el menú desplegable + Add , seleccione Add custom role

  3. Vaya a la pestaña JSON, haga clic en Edit y añada lo siguiente

    1. Cualquier nombre de rol; recuerde el nombre que seleccionó

    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. 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:

  1. Vaya a Key Vault -> Objects -> Keys y luego haga clic en Generate/Import

  2. En Options, seleccione Generate

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

  4. Puede seleccionar cualquier tamaño de clave RSA

  5. 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

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

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:

  1. Vaya a Key Vault->Access Control (IAM)

  2. Haga clic en Add-> Add role assignment

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

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

  1. Vaya a Key Vault -> Objects -> Keys y luego haga clic en la fila de la clave que creó

  2. Vaya a Access control (IAM) de la clave en la que acaba de hacer clic (no de su key vault).

  3. En el menú desplegable + Add, seleccione Add role assignment

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. En la pestaña Role, seleccione el nombre del rol personalizado que acaba de crear.

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

    1. Haga clic en «+ Select members»

    2. 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

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

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"
}'

¿Te ha resultado útil este artículo?