Proteger o tráfego entre aplicações lógicas Standard e redes virtuais do Azure com pontos finais privados

Aplica-se a: Azure Logic Apps (Standard)

Para comunicar de forma segura e privada entre o fluxo de trabalho numa aplicação lógica Standard e numa rede virtual do Azure, pode configurar pontos finais privados para tráfego de entrada e utilizar a integração de rede virtual para tráfego de saída.

Um ponto final privado é uma interface de rede que o liga de forma privada e segura a um serviço com a tecnologia Azure Private Link. Este serviço pode ser um serviço do Azure como o Azure Logic Apps, o Armazenamento do Microsoft Azure, o Azure Cosmos DB, o SQL ou o seu próprio Serviço do Private Link. O ponto final privado utiliza um endereço IP privado na rede virtual, o que leva de forma eficaz o serviço até à rede virtual.

Este artigo mostra como configurar o acesso através de pontos finais privados para tráfego de entrada e integração de rede virtual para tráfego de saída.

Para obter mais informações, veja a seguinte documentação:

Pré-requisitos

Precisa de ter uma rede virtual do Azure nova ou existente que inclua uma sub-rede sem delegações. Esta sub-rede é utilizada para implementar e alocar endereços IP privados da rede virtual.

Para obter mais informações, veja a seguinte documentação:

Configurar o tráfego de entrada através de pontos finais privados

Para proteger o tráfego de entrada para o fluxo de trabalho, conclua estes passos de alto nível:

  1. Inicie o fluxo de trabalho com um acionador incorporado que pode receber e processar pedidos de entrada, como o acionador Pedido ou o acionador HTTP + Webhook. Este acionador configura o fluxo de trabalho com um ponto final callable.

  2. Adicione um ponto final privado para o recurso da aplicação lógica à rede virtual.

  3. Faça chamadas de teste para verificar o acesso ao ponto final. Para chamar o fluxo de trabalho da aplicação lógica depois de configurar este ponto final, tem de estar ligado à rede virtual.

Considerações sobre o tráfego de entrada através de pontos finais privados

  • Se aceder a partir de fora da rede virtual, a vista de monitorização não consegue aceder às entradas e saídas a partir de acionadores e ações.

  • Os acionadores de webhook da API gerida (acionadores push ) e as ações não funcionarão porque são executados na cloud pública e não podem ligar para a sua rede privada. Precisam de um ponto final público para receber chamadas. Por exemplo, estes acionadores incluem o acionador Dataverse e o acionador do Event Grid.

  • Se utilizar o Office 365 acionador do Outlook, o fluxo de trabalho é acionado apenas por hora.

  • A implementação a partir do Visual Studio Code ou da CLI do Azure só funciona a partir da rede virtual. Pode utilizar o Centro de Implementação para ligar a sua aplicação lógica a um repositório do GitHub. Em seguida, pode utilizar a infraestrutura do Azure para criar e implementar o seu código.

    Para que a integração do GitHub funcione, remova a WEBSITE_RUN_FROM_PACKAGE definição da sua aplicação lógica ou defina o valor como 0.

  • Ativar Private Link não afeta o tráfego de saída, que ainda flui através da infraestrutura de Serviço de Aplicações.

Pré-requisitos para o tráfego de entrada através de pontos finais privados

Juntamente com a configuração da rede virtual nos pré-requisitos de nível superior, precisa de ter um fluxo de trabalho de aplicação lógica Standard novo ou existente que comece com um acionador incorporado que possa receber pedidos.

Por exemplo, o acionador Pedido cria um ponto final no fluxo de trabalho que pode receber e processar pedidos de entrada de outros autores de chamadas, incluindo fluxos de trabalho. Este ponto final fornece um URL que pode utilizar para chamar e acionar o fluxo de trabalho. Neste exemplo, os passos continuam com o acionador Pedido.

Para obter mais informações, veja Receber e responder a pedidos HTTP de entrada com o Azure Logic Apps.

Criar o fluxo de trabalho

  1. Se ainda não o fez, crie uma aplicação lógica baseada num inquilino único e um fluxo de trabalho em branco.

  2. Depois de o estruturador abrir, adicione o acionador Pedido como o primeiro passo no fluxo de trabalho.

  3. Com base nos seus requisitos de cenário, adicione outras ações que pretende executar no fluxo de trabalho.

  4. Quando terminar, guarde o fluxo de trabalho.

Para obter mais informações, veja Criar fluxos de trabalho de aplicações lógicas de inquilino único no Azure Logic Apps.

Copiar o URL do ponto final

  1. No menu de fluxo de trabalho, selecione Descrição geral.

  2. Na página Descrição Geral , copie e guarde o URL do Fluxo de Trabalho para utilização posterior.

    Para acionar o fluxo de trabalho, ligue ou envie um pedido para este URL.

  3. Certifique-se de que o URL funciona ao chamar ou enviar um pedido para o URL. Pode utilizar qualquer ferramenta para enviar o pedido, por exemplo, o Postman.

Configurar a ligação de ponto final privado

  1. No menu da aplicação lógica, em Definições, selecione Rede.

  2. Na página Rede , no cartão de tráfego de entrada , selecione Pontos finais privados.

  3. Nas ligações do Ponto Final Privado, selecione Adicionar.

  4. No painel Adicionar Ponto Final Privado que é aberto, forneça as informações pedidas sobre o ponto final.

    Para obter mais informações, veja Propriedades do Ponto Final Privado.

  5. Depois de o Azure aprovisionar com êxito o ponto final privado, tente chamar novamente o URL do fluxo de trabalho.

    Desta vez, recebe um erro esperado 403 Forbidden , o que significa que o ponto final privado está configurado e funciona corretamente.

  6. Para se certificar de que a ligação está a funcionar corretamente, crie uma máquina virtual na mesma rede virtual que tem o ponto final privado e tente chamar o fluxo de trabalho da aplicação lógica.

Configurar o tráfego de saída com a integração da rede virtual

Para proteger o tráfego de saída da sua aplicação lógica, pode integrar a sua aplicação lógica numa rede virtual. Primeiro, crie e teste um fluxo de trabalho de exemplo. Em seguida, pode configurar a integração da rede virtual.

Considerações sobre o tráfego de saída através da integração da rede virtual

  • A configuração da integração da rede virtual afeta apenas o tráfego de saída. Para proteger o tráfego de entrada, que continua a utilizar o Serviço de Aplicações ponto final partilhado, veja Configurar o tráfego de entrada através de pontos finais privados.

  • Não pode alterar o tamanho da sub-rede após a atribuição, por isso, utilize uma sub-rede suficientemente grande para acomodar a escala que a sua aplicação poderá alcançar. Para evitar problemas com a capacidade da sub-rede, utilize uma /26 sub-rede com 64 endereços. Se criar a sub-rede para integração de rede virtual com o portal do Azure, tem de utilizar /27 como o tamanho mínimo da sub-rede.

  • Para que o runtime do Azure Logic Apps funcione, tem de ter uma ligação ininterrupta ao armazenamento de back-end. Se o armazenamento de back-end estiver exposto à rede virtual através de um ponto final privado, certifique-se de que as seguintes portas estão abertas:

    Porta de origem Porta de destino Origem Destino Protocolo Objetivo
    * 443 Sub-rede integrada com a aplicação lógica Standard Conta de armazenamento TCP Conta de armazenamento
    * 445 Sub-rede integrada com a aplicação lógica Standard Conta de armazenamento TCP Partilha de Ficheiros SMB (Server Message Block)
  • Para que os conectores geridos alojados no Azure funcionem, tem de ter uma ligação ininterrupta ao serviço de API gerida. Com a integração da rede virtual, certifique-se de que nenhuma política de segurança de rede ou firewall bloqueia estas ligações. Se a rede virtual utilizar um grupo de segurança de rede (NSG), uma tabela de rotas definida pelo utilizador (UDR) ou uma firewall, certifique-se de que a rede virtual permite ligações de saída a todos os endereços IP do conector gerido na região correspondente. Caso contrário, os conectores geridos pelo Azure não funcionarão.

Para obter mais informações, veja a seguinte documentação:

Criar e testar o fluxo de trabalho

  1. Se ainda não o fez, no portal do Azure, crie uma aplicação lógica baseada em inquilino único e um fluxo de trabalho em branco.

  2. Depois de o estruturador abrir, adicione o acionador Pedir como o primeiro passo no fluxo de trabalho.

  3. Adicione uma ação HTTP para chamar um serviço interno indisponível através da Internet e executado com um endereço IP privado, como 10.0.1.3.

  4. Quando terminar, guarde o fluxo de trabalho.

  5. No estruturador, execute manualmente o fluxo de trabalho.

    A ação HTTP falha, que é por predefinição e esperada porque o fluxo de trabalho é executado na cloud e não consegue aceder ao seu serviço interno.

Configurar a integração da rede virtual

  1. No portal do Azure, no menu de recursos da aplicação lógica, em Definições, selecione Rede.

  2. No painel Rede , no cartão de tráfego de saída , selecione Integração da VNet.

  3. No painel Integração da VNet , selecione Adicionar Vnet.

  4. No painel Adicionar Integração da VNet , selecione a subscrição e a rede virtual que se liga ao seu serviço interno.

    Depois de adicionar a integração da rede virtual, no painel Integração da VNet , a definição Encaminhar Tudo está ativada por predefinição. Esta definição encaminha todo o tráfego de saída através da rede virtual. Quando esta definição está ativada, a definição da aplicação WEBSITE_VNET_ROUTE_ALL é ignorada.

  5. Se utilizar o seu próprio servidor de nomes de domínio (DNS) com a sua rede virtual, defina a definição da aplicação do recurso da WEBSITE_DNS_SERVER aplicação lógica para o endereço IP do seu DNS. Se tiver um DNS secundário, adicione outra definição de aplicação com o nome WEBSITE_DNS_ALT_SERVERe defina o valor também para o IP do seu DNS.

  6. Depois de o Azure aprovisionar com êxito a integração da rede virtual, tente executar o fluxo de trabalho novamente.

    A ação HTTP é agora executada com êxito.

Passos seguintes