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:
- O que é o Ponto Final Privado do Azure?
- Pontos finais privados – Integrar a sua aplicação numa rede virtual do Azure
- O que é a Ligação Privada do Azure?
- Integração de rede virtual regional?
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:
- Início Rápido: criar uma rede virtual com o Portal do Azure
- O que é a delegação de sub-rede?
- Adicionar ou remover uma delegação de sub-rede
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:
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.
Adicione um ponto final privado para o recurso da aplicação lógica à rede virtual.
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 como0
.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
Se ainda não o fez, crie uma aplicação lógica baseada num inquilino único e um fluxo de trabalho em branco.
Depois de o estruturador abrir, adicione o acionador Pedido como o primeiro passo no fluxo de trabalho.
Com base nos seus requisitos de cenário, adicione outras ações que pretende executar no fluxo de trabalho.
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
No menu de fluxo de trabalho, selecione Descrição geral.
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.
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
No menu da aplicação lógica, em Definições, selecione Rede.
Na página Rede , no cartão de tráfego de entrada , selecione Pontos finais privados.
Nas ligações do Ponto Final Privado, selecione Adicionar.
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.
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.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:
- Integrar a aplicação numa rede virtual do Azure
- Grupos de segurança de rede
- Encaminhamento de tráfego da rede virtual
Criar e testar o fluxo de trabalho
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.
Depois de o estruturador abrir, adicione o acionador Pedir como o primeiro passo no fluxo de trabalho.
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
.Quando terminar, guarde o fluxo de trabalho.
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
No portal do Azure, no menu de recursos da aplicação lógica, em Definições, selecione Rede.
No painel Rede , no cartão de tráfego de saída , selecione Integração da VNet.
No painel Integração da VNet , selecione Adicionar Vnet.
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.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 nomeWEBSITE_DNS_ALT_SERVER
e defina o valor também para o IP do seu DNS.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.