Aislamiento de red en el servicio de Bot de Azure AI

A partir del 1 de septiembre de 2023, se recomienda encarecidamente emplear el método de etiqueta de servicio de Azure para el aislamiento de red. El uso de DL-ASE debe limitarse a escenarios muy específicos. Antes de implementar esta solución en un entorno de producción, se recomienda consultar al equipo de soporte técnico para obtener instrucciones.

En este artículo se tratan conceptos sobre el aislamiento de red para el bot de Azure y sus servicios dependientes.

Es posible que quieras restringir el acceso al bot a una red privada. La única manera de hacerlo en el servicio de Bot de Azure AI es usar la extensión Direct Line App Service. Por ejemplo, puedes usar la extensión de App Service para hospedar un bot interno de la empresa y requerir que los usuarios accedan al bot desde la red de la empresa.

Para obtener instrucciones detalladas sobre cómo configurar el bot en una red privada, consulte Uso de una red aislada.

Para obtener más información sobre las características que admiten el aislamiento de red, consulta:

Característica Artículo
Extensión de App Service de Direct Line Extensión de App Service de Direct Line
Azure Virtual Network ¿Qué es Azure Virtual Network?
Grupos de seguridad de red de Azure Grupos de seguridad de red
Azure Private Link y puntos de conexión privados ¿Qué es un punto de conexión privado?
DNS de Azure Creación de una zona y un registro Azure DNS mediante Azure Portal

Uso de puntos de conexión privados

Cuando el punto de conexión del bot está dentro de una red virtual y con las reglas adecuadas establecidas en el grupo de seguridad de red, puedes restringir el acceso a las solicitudes entrantes y salientes del servicio de aplicaciones del bot mediante un punto de conexión privado.

Los puntos de conexión privados están disponibles en el servicio de bot a través de la extensión Direct Line de App Service. Consulta los requisitos para usar puntos de conexión privados a continuación:

  1. Las actividades deben enviarse a y desde el punto de conexión de App Service.

    La extensión de App Service se encuentra en una ubicación conjunta con el servicio de aplicaciones del punto de conexión del bot. Todos los mensajes hacia y desde el punto de conexión son locales a la red virtual y llegan al cliente directamente sin enviarse a los servicios de Bot Framework.

  2. Para que la autenticación de usuario funcione, el cliente del bot debe comunicarse con el proveedor de servicios (como el identificador de Microsoft Entra o GitHub) y el punto de conexión del token.

    Si el cliente del bot está en la red virtual, deberás incluir en la lista de permitidos ambos puntos de conexión desde la red virtual. Haga esto para el punto de conexión del token a través de etiquetas de servicio. El propio punto de conexión del bot también necesita acceso al punto de conexión del token, como se describe a continuación.

  3. Con la extensión de App Service, el punto de conexión del bot y la extensión de App Service deben enviar solicitudes HTTPS salientes a los servicios Bot Framework.

    Estas solicitudes son para varias operaciones meta, como recuperar la configuración del bot o recuperar tokens desde el punto de conexión del token. Para facilitar estas solicitudes, debes configurar y configurar un punto de conexión privado.

Cómo implementa el servicio de bot los puntos de conexión privados

Hay dos escenarios principales en los que se usan puntos de conexión privados:

  • Para que el bot acceda al punto de conexión del token.
  • Para que la extensión de canal de Direct Line acceda a Bot Service.

Un punto de conexión privado proyecta los servicios requeridos servicios en la red virtual, de modo que estén disponibles directamente dentro de la red, sin exponer la red virtual a Internet o permitir enumerar las direcciones IP. Todo el tráfico a través de un punto de conexión privado pasa por los servidores internos de Azure para asegurarte de que el tráfico no se filtre a Internet.

El servicio usa dos subrecursos Bot y Token, para servicio de proyecto a la red. Al agregar un punto de conexión privado, Azure genera un registro DNS específico del bot para cada subrecurso y configura el punto de conexión en el grupo de zonas DNS. Esto garantiza que los puntos de conexión de diferentes bots que tienen como destino el mismo subrecurso se puedan distinguir entre sí, al tiempo que se reutiliza el mismo recurso de grupo de zonas DNS.

Escenario de ejemplo

Supongamos que tiene un bot denominado SampleBot y un servicio de aplicaciones correspondiente para él, SampleBot.azurewebsites.net, que actúa como punto de conexión de mensajería para este bot. Configure un punto de conexión privado para SampleBot con tipo Bot de subrecurso en Azure Portal para la nube pública, que crea un grupo de zonas DNS con un registro A correspondiente a SampleBot.botplinks.botframework.com. Este registro DNS se asigna a una dirección IP local en la red virtual. Del mismo modo, el uso del tipo de subrecurso Token genera un punto de conexión, SampleBot.bottoken.botframework.com.

El registro A de la zona DNS que creaste se asigna a una dirección IP dentro de la red virtual. Por lo tanto, las solicitudes enviadas a este punto de conexión son locales en la red y no infringen las reglas del grupo de seguridad de red o el firewall de Azure que restringen el tráfico saliente de la red. La capa de red de Azure y los servicios de Bot Framework garantizan que las solicitudes no se filtren a la red pública de Internet y se mantenga el aislamiento para la red.