Cifrado de datos en reposo de Azure Bot Service

SE APLICA A: SDK v4

El Servicio de Bot de Azure AI cifra automáticamente sus datos cuando se guardan en la nube para protegerlos y satisfacer los compromisos de cumplimiento y seguridad de la organización.

El cifrado y el descifrado son transparentes, lo que significa que el cifrado y el acceso se administran automáticamente. Dado que los datos están protegidos de forma predeterminada, no es necesario modificar el código ni las aplicaciones para utilizar el cifrado.

Información sobre la administración de claves de cifrado

De forma predeterminada, su suscripción usa claves de cifrado administradas por Microsoft. También puede administrar el recurso de bot con sus propias claves, que se denominan claves administradas por el cliente. Las claves administradas por el cliente ofrecen más flexibilidad para crear, girar, deshabilitar y revocar los controles de acceso a los almacenes de datos del Servicio de Bot de Azure AI. También permite auditar las claves de cifrado que se usan para proteger los datos.

Al cifrar los datos, el Servicio de Bot de Azure AI los cifra con dos niveles de cifrado. En el caso de que las claves administradas por el cliente no estén habilitadas, ambas claves usadas son claves administradas por Microsoft. Cuando se habilitan las claves administradas por el cliente, los datos se cifran con la clave administrada por el cliente y una clave administrada por Microsoft.

Claves administradas por el cliente con Azure Key Vault

Para usar la característica de claves administradas por el cliente, debe almacenar y administrar las claves en Azure Key Vault. Puede crear sus propias claves y almacenarlas en un almacén de claves, o puede usar las API de Azure Key Vault para generarlas. El recurso de Bot de Azure y el almacén de claves pueden estar en distintas suscripciones, pero deben estar en el mismo inquilino de Microsoft Entra ID. Para más información sobre Azure Key Vault, vea ¿Qué es Azure Key Vault?.

Cuando se usa una clave administrada por el cliente, el Servicio de Bot de Azure AI cifra los datos en su almacenamiento. Si se revoca el acceso a esa clave o se elimina la clave, el bot no podrá usar el Servicio de Bot de Azure AI para enviar o recibir mensajes, y no podrá acceder ni editar la configuración del bot en Azure Portal.

Al crear un recurso de Azure Bot a través del portal, Azure genera un identificador de aplicación y una contraseña, pero no los almacena en Azure Key Vault. Puede usar Key Vault con el Servicio de Bot de Azure AI. Para más información, consulte Configuración de la aplicación web para conectarse a Key Vault. Para obtener un ejemplo sobre cómo almacenar y recuperar secretos con Key Vault, consulte Inicio rápido: Biblioteca cliente secreta de Azure Key Vault para .NET (SDK v4).

Importante

El equipo del Servicio de Bot de Azure AI no puede recuperar un bot de clave de cifrado administrado por el cliente sin acceso a la clave.

¿Cuáles datos se cifran?

El Servicio de Bot de Azure AI almacena los datos del cliente acerca del bot, los canales que usa, la configuración de los conjuntos de desarrolladores y, cuando sea necesario, un registro de las conversaciones actualmente activas. También de manera transitoria, durante menos de 24 horas, almacena los mensajes enviados a través de los canales de Direct Line o Chat en web y los elementos adjuntos cargados.

Todos los datos del cliente se cifran con dos capas de cifrado en Servicio de Bot de Azure AI; ya sea con claves de cifrado administradas por Microsoft o claves de cifrado administradas por el cliente y Microsoft. El Servicio de Bot de Azure AI cifra los datos almacenados transitoriamente mediante las claves de cifrado administradas por Microsoft y, en función de la configuración del recurso de Azure Bot, cifra los datos a largo plazo mediante las claves de cifrado administradas por el cliente o Microsoft.

Nota:

Dado que el Servicio de Bot de Azure AI existe para proporcionar a los clientes la capacidad de entregar mensajes a otros usuarios y desde otros servicios fuera del Servicio de Bot de Azure AI, el cifrado no se extiende a esos servicios. Esto significa que, durante el control del Servicio de Bot de Azure AI, los datos se almacenarán cifrados según la guia de este artículo; sin embargo, al salir del servicio para entregar a otro servicio, los datos se desencriptan y, a continuación, se envían mediante el cifrado TLS 1.2 al servicio de destino.

Configuración de la instancia de Azure Key Vault

El uso de claves administradas por el cliente con el Servicio de Bot de Azure AI requiere que habilite dos propiedades en la instancia de Azure Key Vault que planea usar para hospedar las claves de cifrado: Eliminación temporal y Protección de purga. Estas características garantizan que, si por algún motivo la clave se elimina accidentalmente, puede recuperarla. Para más información acerca de la protección frente a la eliminación temporal y la purga, consulte la Información general sobre la eliminación temporal de Azure Key Vault.

Screenshot of soft delete and purge protection enabled.

Si usa una instancia de Azure Key Vault existente y desea verificar si estas propiedades estén habilitadas, puede consultar la sección Propiedades en Azure Portal. Si alguna de estas propiedades no está habilitada, consulte la sección Key Vault en Habilitación de la protección frente a la eliminación temporal y la purga.

Concesión de acceso a Servicio de Bot de Azure AI a un almacén de claves

Para que el Servicio de Bot de Azure AI tenga acceso al almacén de claves que creó para este propósito, es preciso establecer una directiva de acceso, que proporciona a la entidad de servicio del Servicio de Bot de Azure AI el conjunto actual de permisos. Para más información sobre Azure Key Vault, incluido cómo crear un almacén de claves, consulte Acerca de Azure Key Vault.

  1. Registre el proveedor de recursos del Servicio de Bot de Azure AI en la suscripción que contiene el almacén de claves.

    1. Vaya a Azure Portal.
    2. Abra la hoja Suscripciones, y seleccione la suscripción que contiene el almacén de claves.
    3. Abra la hoja Proveedores de recursos y registre el proveedor de recursos Microsoft.BotService.

    Microsoft.BotService registered as a resource provider

  2. Azure Key Vault admite dos modelos de permisos: el Control de acceso basado en roles de Azure (RBAC) y la Directiva de acceso al almacén. Puede optar por usar cualquiera de los modelos de permisos. Asegúrese de que los Servidores de seguridad y las redes virtuales de la hoja Redes del Key Vault estén establecidos en Permitir el acceso público desde todas las redes en este paso. Además, asegúrese de que al operador se le ha concedido el permiso Operaciones de administración de claves.

    Screenshot of the two permission models available for your key vault.

    1. Para configurar el modelo de permisos RBAC de Azure en su almacén de claves:

      1. Abra la hoja Almacenes de claves y seleccione el almacén de claves.
      2. Vaya a la hoja Access control (IAM) y asigne el rol de Usuario de cifrado del servicio criptográfico de Key Vault a Servicio de bot CMEK Prod. Solo un usuario con el rol de propietario de la suscripción puede realizar este cambio.

      Screenshot of key vault configuration showing the crypto service encryption user role has been added.

    2. Para configurar el modelo de permisos de la directiva de acceso de Key Vault en el almacén de claves:

      1. Abra la hoja Almacenes de claves y seleccione el almacén de claves.
      2. Agregue la aplicación CMEK Prod de Servicio de bot como una directiva de acceso y asígnele los permisos siguientes:
      • Obtener (de las Operaciones de administración de claves)
      • Desajustar clave (a partir de las Operaciones criptográficas)
      • Encapsular clave (a partir de las Operaciones criptográficas)
      1. Seleccione Guardar para guardar los cambios que realizó.

      Bot Service CMEK Prod added as an access policy

  3. Permita que Key Vault omita su servidor de seguridad.

    1. Abra la hoja Almacenes de claves y seleccione el almacén de claves.
    2. Abra la hoja Redes y vaya a la pestaña Servidores de seguridad y redes virtuales.
    3. Si Permitir el acceso desde está establecido en Deshabilitar el acceso público, asegúrese de que la opción Permitir servicios Microsoft de confianza para omitir este servidor de seguridad está seleccionada.
    4. Seleccione Guardar para guardar los cambios que realizó.

    Firewall exception added for Key Vault

Habilitar claves administradas del cliente

Para cifrar el bot con una clave de cifrado administrada por el cliente, siga estos pasos:

  1. Abra la hoja de recursos del bot de Azure para el bot.

  2. Abra la hoja Cifrado del bot y seleccione Claves administradas por el cliente para el Tipo de cifrado.

  3. Introduzca el URI completo de la clave, incluida la versión, o haga clic en Seleccionar un almacén de claves y una clave para encontrar la clave.

  4. Haga clic en Guardar en la parte superior de la hoja.

    Bot resource using customer-managed encryption

Una vez completados estos pasos, el Servicio de Bot de Azure AI iniciará el proceso de cifrado, lo que puede tardar hasta 24 horas en completarse. El bot permanece funcional durante este período de tiempo.

Rotación de claves administradas por el cliente

Para girar una clave de cifrado administrada por el cliente, debe actualizar el recurso del Servicio de Bot de Azure AI para usar el nuevo identificador URI para la nueva clave (o una nueva versión de la clave existente).

Dado que el nuevo cifrado con la nueva clave se produce de forma asincrónica, asegúrese de que la clave antigua permanece disponible para que los datos puedan seguir desencriptados; de lo contrario, el bot podría dejar de funcionar. Debe conservar la clave antigua durante al menos una semana.

Revocación del acceso a las claves administradas por el cliente

Para revocar el acceso, elimine la directiva de acceso de la entidad de servicio CMEK prod de Servicio de bot del almacén de claves.

Nota:

Revocar el acceso interrumpirá la mayor parte de la funcionalidad asociada al bot. Para deshabilitar la característica de claves administradas por el cliente, desactive la característica antes de revocar el acceso para asegurarse de que el bot puede seguir funcionando.

Pasos siguientes

Más información Acerca de Azure Key Vault