Tráfico seguro entre aplicaciones lógicas estándar y redes virtuales de Azure mediante puntos de conexión privados

Se aplica a: Azure Logic Apps (estándar)

Para comunicarse de forma segura y privada entre el flujo de trabajo de una aplicación lógica y una red virtual de Azure, puede configurar puntos de conexión privados para el tráfico entrante y usar la integración de red virtual para el tráfico saliente.

Un punto de conexión privado es una interfaz de red que se conecta de forma privada y segura a un servicio con la tecnología de Azure Private Link. Este servicio puede ser un servicio de Azure, como Azure Logic Apps, Azure Storage, Azure Cosmos DB, SQL o su propio servicio de Private Link. El punto de conexión privado usa una dirección IP privada de la red virtual para incorporar el servicio de manera eficaz a la red virtual.

En este artículo se muestra cómo configurar el acceso mediante puntos de conexión privados para el tráfico entrante y la integración de red virtual para el tráfico saliente.

Para más información, revise la siguiente documentación:

Requisitos previos

Debe tener una red virtual de Azure nueva o existente que incluya una subred sin ninguna delegación. Esta subred se usa para implementar y asignar direcciones IP privadas de la red virtual.

Para más información, revise la siguiente documentación:

Configuración del tráfico entrante mediante puntos de conexión privados

Para proteger el tráfico entrante al flujo de trabajo, complete estos pasos generales:

  1. Inicie el flujo de trabajo con un desencadenador integrado que pueda recibir y controlar las solicitudes entrantes, como el desencadenador Request o el desencadenador HTTP + Webhook. Este desencadenador configura el flujo de trabajo con un punto de conexión al que se puede llamar.

  2. Agregue un punto de conexión privado para el recurso de aplicación lógica a la red virtual.

  3. Realice llamadas de prueba para comprobar el acceso al punto de conexión. Para llamar al flujo de trabajo de la aplicación lógica después de configurar este punto de conexión, debe estar conectado a la red virtual.

Consideraciones para el tráfico entrante mediante puntos de conexión privados

  • Si se accede desde fuera de la red virtual, la vista de supervisión no puede acceder a las entradas y salidas de desencadenadores y acciones.

  • Los desencadenadores de webhook de API administrada (desencadenadores de push) y las acciones no funcionarán porque se ejecutan en la nube pública y no pueden llamar a la red privada. Requieren un punto de conexión público para recibir llamadas. Por ejemplo, estos desencadenadores incluyen el desencadenador Dataverse y el desencadenador Event Grid.

  • Si usa el desencadenador Office 365 Outlook, el flujo de trabajo se desencadena solo cada hora.

  • La implementación desde Visual Studio Code o la CLI de Azure solo funciona desde dentro de la red virtual. Puede usar el Centro de implementación para vincular la aplicación lógica a un repositorio de GitHub. A continuación, puede usar la infraestructura de Azure para compilar e implementar el código.

    Para que la integración de GitHub funcione, quite la configuración WEBSITE_RUN_FROM_PACKAGE de la aplicación lógica o establezca el valor en 0.

  • La habilitación de Private Link no afecta al tráfico saliente, que sigue fluyendo por la infraestructura de App Service.

Requisitos previos para el tráfico entrante mediante puntos de conexión privados

Además de la configuración de red virtual de los requisitos previos generales, debe tener un flujo de trabajo de aplicación lógica estándar nuevo o existente que comience con un desencadenador integrado que pueda recibir solicitudes.

Por ejemplo, el desencadenador Request crea un punto de conexión en el flujo de trabajo que puede recibir y controlar las solicitudes entrantes de otros autores de llamadas, incluidos los flujos de trabajo. Este punto de conexión proporciona una dirección URL que puede usar para llamar al flujo de trabajo y desencadenarlo. En este ejemplo, los pasos continúan con el desencadenador Request.

Para más información, consulte Recepción y respuesta de solicitudes HTTP entrantes con Azure Logic Apps

Crear el flujo de trabajo

  1. Si aún no lo ha hecho, cree una aplicación lógica basada en inquilino único y un flujo de trabajo en blanco.

  2. Una vez que se abra el diseñador, agregue el desencadenador Request como primer paso del flujo de trabajo.

  3. En función de los requisitos del escenario, agregue otras acciones que quiera ejecutar en el flujo de trabajo.

  4. Cuando haya terminado, guarde el flujo de trabajo.

Para más información, consulte Creación de flujos de trabajo de aplicación lógica de inquilino único de Azure Logic Apps.

Copia de la dirección URL del punto de conexión

  1. En el menú del flujo de trabajo, seleccione Información general.

  2. En la página Información general, copie y guarde la dirección URL del flujo de trabajo para su uso posterior.

    Para desencadenar el flujo de trabajo, llame o envíe una solicitud a esta dirección URL.

  3. Asegúrese de que la dirección URL funciona; para ello, llame a o envíe una solicitud a la dirección URL. Puede usar la herramienta que desee para enviar la solicitud; por ejemplo, Postman.

Configuración de la conexión del punto de conexión privado

  1. En el menú de la aplicación lógica, en Configuración, seleccione Redes.

  2. En la página Redes, en la tarjeta Inbound traffic (Tráfico de entrada), seleccione Puntos de conexión privados.

  3. En la página Conexiones de punto de conexión privado, seleccione Agregar.

  4. En el panel Agregar punto de conexión privado que se abre, proporcione la información solicitada sobre el punto de conexión.

    Para más información, consulte Propiedades del punto de conexión privado.

  5. Después de que Azure aprovisione correctamente el punto de conexión privado, vuelva a intentar llamar a la dirección URL del flujo de trabajo.

    Esta vez, se produce un error 403 Forbidden esperado, lo que significa que el punto de conexión privado está configurado y funciona correctamente.

  6. Para asegurarse de que la conexión funciona correctamente, cree una máquina virtual en la misma red virtual que tiene el punto de conexión privado e intente llamar al flujo de trabajo de la aplicación lógica.

Configuración del tráfico saliente mediante la integración de red virtual

Para proteger el tráfico saliente de la aplicación lógica, puede integrar la aplicación lógica con una red virtual. En primer lugar, cree y pruebe un flujo de trabajo de ejemplo. A continuación, puede configurar la integración de red virtual.

Consideraciones sobre el tráfico saliente mediante la integración de red virtual

  • La configuración de la integración de red virtual solo afecta al tráfico saliente. Para proteger el tráfico entrante, que sigue utilizando el punto de conexión compartido de App Service, vea Configuración del tráfico entrante mediante puntos de conexión privados.

  • No puede cambiar el tamaño de la subred después de la asignación, por lo que debe usar una subred lo suficientemente grande como para adaptarse a la escala a la que podría llegar la aplicación. Para evitar problemas con la capacidad de la subred, debe usar una subred /26 con 64 direcciones. Si crea la subred para la integración de red virtual Azure Portal, debe usar /27 como tamaño mínimo de subred.

  • Para que el entorno de ejecución de Azure Logic Apps funcione, debe tener una conexión ininterrumpida con el almacenamiento de back-end. Si el sistema de almacenamiento de back-end está expuesto a la red virtual a través de un punto de conexión privado, asegúrese de que los puertos siguientes están abiertos:

    Puerto de origen Puerto de destino Source Destination Protocolo Propósito
    * 443 Subred que se integra con la aplicación lógica estándar Cuenta de almacenamiento TCP Cuenta de almacenamiento
    * 445 Subred que se integra con la aplicación lógica estándar Cuenta de almacenamiento TCP Recurso compartido de archivos de bloque de mensajes del servidor (SMB)
  • Para que los conectores administrados hospedados en Azure funcionen, debe tener una conexión ininterrumpida con el servicio de API administrada. Con la integración de red virtual, asegúrese de que ninguna directiva de seguridad de red o firewall bloquee estas conexiones. Si la red virtual usa un grupo de seguridad de red (NSG), una tabla de rutas definida por el usuario (UDR) o un firewall, asegúrese de que la red virtual permita conexiones salientes a todas las direcciones IP del conector administrado de la región correspondiente. De lo contrario, los conectores administrados por Azure no funcionarán.

Para más información, revise la siguiente documentación:

Creación y prueba del flujo de trabajo

  1. Si aún no lo ha hecho, cree una aplicación lógica de inquilino único y un flujo de trabajo en blanco en Azure Portal.

  2. Una vez que se abra el diseñador, agregue el desencadenador Request como primer paso del flujo de trabajo.

  3. Agregue una acción HTTP para llamar a un servicio interno que no está disponible mediante Internet y se ejecuta con una dirección IP privada como 10.0.1.3.

  4. Cuando haya terminado, guarde el flujo de trabajo.

  5. En el diseñador, ejecute manualmente el flujo de trabajo.

    Se produce un error en la acción HTTP, que es así es por naturaleza y se espera porque el flujo de trabajo se ejecuta en la nube y no puede acceder al servicio interno.

Configuración de la integración de red virtual

  1. En Azure Portal, en el menú del recurso de aplicación lógica, en Configuración, seleccione Redes.

  2. En el panel Redes, en la sección Outbound Traffic (Tráfico de salida), seleccione Integración de VNET.

  3. En el panel Integración de VNET, seleccione Agregar VNET.

  4. En el panel Add VNet Integration (Agregar integración de VNET), seleccione la suscripción y la red virtual que se conecta al servicio interno.

    Después de agregar la integración de red virtual, en el panel Integración con red virtual, la opción Enrutar todo está habilitada de forma predeterminada. Este valor enruta todo el tráfico saliente a través de la red virtual. Cuando esta configuración está habilitada, se omite el valor de aplicación WEBSITE_VNET_ROUTE_ALL.

  5. Si usa su propio servidor de nombres de dominio (DNS) con la red virtual, establezca la configuración de la aplicación WEBSITE_DNS_SERVER del recurso de aplicación lógica en la dirección IP del DNS. Si tiene un DNS secundario, agregue otra configuración de aplicación denominada WEBSITE_DNS_ALT_SERVER y establezca el valor también en la dirección IP del DNS.

  6. Después de que Azure aprovisione correctamente la integración con la red virtual, intente ejecutar de nuevo el flujo de trabajo.

    La acción HTTP se ejecuta ahora correctamente.

Pasos siguientes