Tutorial: Estabelecer o acesso ao site privado do Azure Functions
Este tutorial mostra como habilitar o acesso a sites privados com o Azure Functions. Usando o acesso a sites privados, você pode exigir que seu código de função seja acionado apenas de uma rede virtual específica.
O acesso ao site privado é útil em cenários em que o acesso ao aplicativo de função precisa ser limitado a uma rede virtual específica. Por exemplo, o aplicativo de função pode ser aplicável apenas a funcionários de uma organização específica ou serviços que estão dentro da rede virtual especificada (como outra Função do Azure, Máquina Virtual do Azure ou um cluster AKS).
Se um aplicativo do Functions precisar acessar recursos do Azure na rede virtual ou conectado por meio de pontos de extremidade de serviço, a integração de rede virtual será necessária.
Neste tutorial, você aprenderá a configurar o acesso a sites privados para seu aplicativo de função:
- Criar uma máquina virtual
- Criar um serviço do Azure Bastion
- Criar uma aplicação de funções das Funções do Azure
- Configurar um ponto de extremidade de serviço de rede virtual
- Criar e implantar uma função do Azure
- Invoque a função de fora e dentro da rede virtual
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Topologia
O diagrama a seguir mostra a arquitetura da solução a ser criada:
Pré-requisitos
Para este tutorial, é importante que você entenda o endereçamento IP e a sub-rede. Você pode começar com este artigo que aborda os conceitos básicos de endereçamento e sub-rede. Muitos outros artigos e vídeos estão disponíveis online.
Iniciar sessão no portal do Azure
Inicie sessão no portal do Azure.
Criar uma máquina virtual
A primeira etapa deste tutorial é criar uma nova máquina virtual dentro de uma rede virtual. A máquina virtual será usada para acessar sua função depois que você restringir seu acesso para estar disponível apenas de dentro da rede virtual.
Selecione o botão Criar um recurso .
No campo de pesquisa, digite Windows Server e selecione Windows Server nos resultados da pesquisa.
Selecione Windows Server 2019 Datacenter na lista de opções do Windows Server e pressione o botão Criar .
Na guia Noções básicas, use as configurações da VM conforme especificado na tabela abaixo da imagem:
Definição Valor sugerido Description Subscrição a sua subscrição A subscrição ao abrigo da qual os seus recursos são criados. Grupo de recursos myResourceGroup Escolha o grupo de recursos para conter todos os recursos para este tutorial. Usar o mesmo grupo de recursos facilita a limpeza de recursos quando você termina este tutorial. Nome da máquina virtual myVM O nome da VM precisa ser exclusivo no grupo de recursos Região (E.U.A.) E.U.A. Centro-Norte Escolha uma região perto de você ou perto das funções a serem acessadas. Portas de entrada públicas None Selecione Nenhum para garantir que não haja conectividade de entrada com a VM da Internet. O acesso remoto à VM será configurado por meio do serviço Azure Bastion. Escolha a guia Rede e selecione Criar novo para configurar uma nova rede virtual.
Em Criar rede virtual, use as configurações na tabela abaixo da imagem:
Definição Valor sugerido Description Nome myResourceGroup-vnet Você pode usar o nome padrão gerado para sua rede virtual. Intervalo de endereços 10.10.0.0/16 Use um único intervalo de endereços para a rede virtual. Nome da sub-rede Tutorial Nome da sub-rede. Intervalo de endereços (sub-rede) 10.10.1.0/24 O tamanho da sub-rede define quantas interfaces podem ser adicionadas à sub-rede. Essa sub-rede é usada pela VM. Uma sub-rede /24 fornece 254 endereços de host. Selecione OK para criar a rede virtual.
De volta à guia Rede , verifique se Nenhum está selecionado para IP público.
Escolha a guia Gerenciamento e, em seguida, em Conta de armazenamento de diagnóstico, escolha Criar novo para criar uma nova conta de armazenamento.
Deixe os valores padrão para as seções Identidade, Desligamento automático e Backup.
Selecione Rever + criar. Após a conclusão da validação, selecione Criar. O processo de criação de VM leva alguns minutos.
Configurar o Azure Bastion
O Azure Bastion é um serviço do Azure totalmente gerenciado que fornece acesso RDP e SSH seguro a máquinas virtuais diretamente do portal do Azure. Usar o serviço Azure Bastion elimina a necessidade de definir configurações de rede relacionadas ao acesso RDP.
No portal, escolha Adicionar na parte superior da exibição do grupo de recursos.
No campo de pesquisa, digite Bastion.
Selecione Bastion nos resultados da pesquisa.
Selecione Criar para iniciar o processo de criação de um novo recurso do Azure Bastion. Você notará uma mensagem de erro na seção Rede virtual, pois ainda não há uma sub-rede AzureBastionSubnet. A sub-rede é criada nas etapas a seguir. Use as configurações na tabela abaixo da imagem:
Definição Valor sugerido Description Nome myBastion O nome do novo recurso Bastion Região E.U.A. Centro-Norte Escolha uma região perto de si ou de outros serviços aos quais as suas funções acedem. Rede virtual myResourceGroup-vnet A rede virtual na qual o recurso Bastion será criado em Sub-rede AzureBastionSubnet A sub-rede em sua rede virtual na qual o novo recurso de host Bastion será implantado. Você deve criar uma sub-rede usando o valor de nome AzureBastionSubnet. Esse valor permite que o Azure saiba em qual sub-rede implantar os recursos Bastion. Você deve usar uma sub-rede de pelo menos /27 ou maior (/27 , /26 e assim por diante). Nota
Para obter um guia detalhado e passo a passo para criar um recurso do Azure Bastion, consulte o tutorial Criar um host do Azure Bastion.
Crie uma sub-rede na qual o Azure pode provisionar o host do Azure Bastion. Escolher Gerenciar configuração de sub-rede abre um novo painel onde você pode definir uma nova sub-rede. Escolha + Sub-rede para criar uma nova sub-rede .
A sub-rede deve ter o nome AzureBastionSubnet e o prefixo da sub-rede deve ser pelo menos /27. Selecione OK para criar a sub-rede.
Na página Criar um bastião, selecione a recém-criada AzureBastionSubnet na lista de sub-redes disponíveis.
Selecione Rever & Criar. Após a conclusão da validação, selecione Criar. Levará alguns minutos para que o recurso Azure Bastion seja criado.
Criar uma aplicação de funções das Funções do Azure
A próxima etapa é criar um aplicativo de função no Azure usando o plano de consumo. Você implanta seu código de função para este recurso mais adiante no tutorial.
No portal, escolha Adicionar na parte superior da exibição do grupo de recursos.
Selecionar aplicativo de função de computação >
Na seção Noções básicas, use as configurações do aplicativo de função conforme especificado na tabela abaixo.
Definição Valor sugerido Description Grupo de Recursos myResourceGroup Escolha o grupo de recursos para conter todos os recursos para este tutorial. Usar o mesmo grupo de recursos para o aplicativo de função e a VM facilita a limpeza de recursos quando você termina este tutorial. Nome da Aplicação de Funções Nome globalmente exclusivo Nome que identifica a sua aplicação Function App nova. Os caracteres válidos são a-z (não diferencia maiúsculas de minúsculas), 0-9 e -. Publicar Código Opção para publicar ficheiros de código ou um contentor de Docker. Pilha de runtime Idioma Preferencial Escolha um tempo de execução que suporte a sua linguagem de programação de funções favorita. Região E.U.A. Centro-Norte Escolha uma região perto de si ou de outros serviços aos quais as suas funções acedem. Selecione o botão Next: Hosting > .
Para a seção Hospedagem, selecione a conta de armazenamento, o sistema operacional e o plano adequados, conforme descrito na tabela a seguir.
Definição Valor sugerido Description Conta de armazenamento Nome globalmente exclusivo Crie uma conta de armazenamento para ser utilizada pela sua aplicação de funções. Os nomes das contas de armazenamento têm de ter entre 3 e 24 carateres de comprimento e apenas podem conter números e letras minúsculas. Você também pode usar uma conta existente, que deve atender aos requisitos da conta de armazenamento. Sistema Operativo Sistema operativo preferido Um sistema operacional é pré-selecionado para você com base na seleção da pilha de tempo de execução, mas você pode alterar a configuração, se necessário. Planear Consumo O plano de hospedagem dita como o aplicativo de função é dimensionado e os recursos disponíveis para cada instância. Selecione Rever + Criar para rever as seleções de configuração da aplicação.
Selecione Criar para aprovisionar e implementar a aplicação de funções.
Configurar restrições de acesso
A próxima etapa é configurar restrições de acesso para garantir que apenas recursos na rede virtual possam invocar a função.
O acesso ao site privado é habilitado criando um ponto de extremidade do serviço de Rede Virtual do Azure entre o aplicativo de função e a rede virtual especificada. As restrições de acesso são implementadas por meio de pontos de extremidade de serviço. Os pontos de extremidade de serviço garantem que apenas o tráfego originado de dentro da rede virtual especificada possa acessar o recurso designado. Nesse caso, o recurso designado é a Função do Azure.
No aplicativo de função, selecione o link Rede no cabeçalho da seção Configurações.
A página Rede é o ponto de partida para configurar a Porta Frontal do Azure, a CDN do Azure e também as Restrições de Acesso.
Selecione Configurar restrições de acesso para configurar o acesso a sites privados.
Na página Restrições de Acesso , você verá apenas a restrição padrão em vigor. O padrão não coloca nenhuma restrição no acesso ao aplicativo de função. Selecione Adicionar regra para criar uma configuração de restrição de acesso a site privado.
No painel Adicionar Restrição de Acesso, forneça um Nome, Prioridade e Descrição para a nova regra.
Selecione Rede Virtual na caixa suspensa Tipo, selecione a rede virtual criada anteriormente e selecione a sub-rede Tutorial.
Nota
Pode levar vários minutos para habilitar o ponto de extremidade de serviço.
A página Restrições de acesso agora mostra que há uma nova restrição. Pode levar alguns segundos para que o status do ponto de extremidade mude de Desabilitado por Provisionamento para Habilitado.
Importante
Cada aplicativo de função tem um site de Ferramenta Avançada (Kudu) que é usado para gerenciar implantações de aplicativos de função. Este site é acedido a partir de um URL como:
<FUNCTION_APP_NAME>.scm.azurewebsites.net
. Habilitar restrições de acesso no site do Kudu impede a implantação do código do projeto a partir de uma estação de trabalho de desenvolvedor local e, em seguida, um agente é necessário dentro da rede virtual para executar a implantação.
Aceda à aplicação de funções
Retorne ao aplicativo de função criado anteriormente. Na seção Visão geral, copie o URL.
Se você tentar acessar o aplicativo de função agora do seu computador fora da sua rede virtual, você receberá uma página HTTP 403 indicando que o acesso é proibido.
Retorne ao grupo de recursos e selecione a máquina virtual criada anteriormente. Para acessar o site a partir da VM, você precisa se conectar à VM por meio do serviço Azure Bastion.
Selecione Conectar e, em seguida, escolha Bastion.
Forneça o nome de usuário e a senha necessários para fazer login na máquina virtual.
Selecione Ligar. Uma nova janela do navegador será exibida para permitir que você interaja com a máquina virtual. É possível acessar o site a partir do navegador da Web na VM porque a VM está acessando o site por meio da rede virtual. Embora o site só seja acessível a partir da rede virtual designada, uma entrada DNS pública permanece.
Criar uma função
A próxima etapa deste tutorial é criar uma Função do Azure acionada por HTTP. Invocar a função através de um HTTP GET ou POST deve resultar em uma resposta de "Olá, {nome}".
Siga um dos seguintes inícios rápidos para criar e implantar seu aplicativo Azure Functions.
Ao publicar seu projeto do Azure Functions, escolha o recurso de aplicativo de função que você criou anteriormente neste tutorial.
Verifique se a função está implantada.
Invoque a função diretamente
Para testar o acesso à função, você precisa copiar o URL da função. Selecione a função implantada e, em seguida, selecione Obter URL da função. Em seguida, clique no botão Copiar para copiar o URL para a área de transferência.
Cole o URL em um navegador da Web. Quando agora tenta aceder à aplicação funcional a partir de um computador fora da sua rede virtual, recebe uma resposta HTTP 403 a indicar que o acesso à aplicação é proibido.
Invoque a função a partir da rede virtual
Acessar a função por meio de um navegador da Web (usando o serviço Azure Bastion) na VM configurada na rede virtual resulta em sucesso!
Clean up resources (Limpar recursos)
Nos passos anteriores, criou os recursos do Azure num grupo de recursos. Se provavelmente não necessitar desses recursos no futuro, pode eliminá-los ao eliminar o grupo de recursos.
No menu do portal do Azure ou na página inicial , selecione Grupos de recursos. Em seguida, na página Grupos de recursos, selecione myResourceGroup.
Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que você deseja excluir.
Selecione Excluir grupo de recursos, digite myResourceGroup na caixa de texto para confirmar e selecione Excluir.