Compartir vía


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

  • Instale o use una herramienta que pueda enviar solicitudes HTTP para probar la solución, por ejemplo:

    Precaución

    En escenarios en los que tiene datos confidenciales, como credenciales, secretos, tokens de acceso, claves de API y otra información similar, asegúrese de usar una herramienta que proteja los datos con las características de seguridad necesarias, funcione sin conexión o localmente, no sincronice los datos en la nube y no requiera que inicie sesión en una cuenta en línea. De este modo, se reduce el riesgo de exponer datos confidenciales al público.

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 su flujo de trabajo con un desencadenador integrado que pueda recibir y administrar solicitudes recibidas, como el desencadenador de solicitud 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 de Solicitud 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 Solicitud.

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

  3. Para probar la dirección URL y desencadenar el flujo de trabajo, envíe una solicitud HTTP a la dirección URL mediante la herramienta de solicitud HTTP y sus instrucciones.

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

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

  2. En la página Redes, en la sección Configuración del tráfico entrante, seleccione el vínculo situado junto a Puntos de conexión privados.

  3. En la página Conexiones de punto de conexión privado, seleccione Agregar>Rápido o Avanzado.

    Para obtener más información sobre la opción Avanzado, consulte Creación de un punto de conexión privado.

  4. En el panel Agregar punto de conexión privado, 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 Solicitud 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 la página Redes, en la sección Configuración del tráfico saliente, seleccione el vínculo situado junto a Integración de red virtual.

  3. En la página de Integración con red virtual, seleccione Agregar integración con red virtual.

  4. En el panel Agregar integración de red virtual, seleccione la suscripción, la red virtual que se conecta al servicio interno y la subred donde agregar la aplicación lógica. Cuando termine, seleccione Conectar.

    En la página Integración de red virtual, de forma predeterminada, se selecciona la opción Tráfico saliente de Internet, que enruta todo el tráfico saliente a través de la red virtual. En este escenario, se omite la configuración de la aplicación denominada WEBSITE_VNET_ROUTE_ALL.

    Para encontrar esta configuración de aplicación, en el menú de recursos de la aplicación lógica, en Configuración, seleccione Variables de entorno.

  5. Si usa su propio servidor de nombres de dominio (DNS) con la red virtual, agregue la configuración de la aplicación WEBSITE_DNS_SERVER, si no existe, y establezca el valor 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 en la dirección IP de este 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