Como usar uma conta de armazenamento segura com o Azure Functions

Este artigo mostra como conectar o seu aplicativo de funções a uma conta de armazenamento segura. Para acessar um tutorial detalhado sobre como criar o seu aplicativo de funções com restrições de acesso de entrada e saída, confira o tutorial Integrar com uma rede virtual. Para saber mais sobre o Azure Functions e a rede, veja Opções de rede do Azure Functions.

Restringir a sua conta de armazenamento a uma rede virtual

Ao criar um aplicativo de funções, você cria uma nova conta de armazenamento ou vincula a uma existente. Atualmente, somente o portal do Azure, as implantações de modelo do ARM e implantações do Bicep dão suporte à criação de aplicativos de funções com uma conta de armazenamento protegida existente.

Observação

As contas de armazenamento protegidas têm suporte para todas as camadas do Plano Dedicado (Serviço de Aplicativo) e do Plano Elastic Premium. Eles também são compatíveis com o Plano de Consumo Flex. O Plano de consumo não dão suporte às redes virtuais.

Para obter uma lista de todas as restrições em contas de armazenamento, confira Requisitos da conta de armazenamento.

Importante

Atualmente, o Plano de Consumo Flex está em versão preliminar.

Armazenamento seguro durante a criação do aplicativo de funções

Você pode criar um aplicativo de funções junto com uma nova conta de armazenamento protegida por uma rede virtual. As seções seguir mostram como criar esses recursos usando o portal do Azure ou usando modelos de implantação.

Conclua as etapas em Criar um aplicativo de funções em um plano Premium. Esta seção do tutorial de rede virtual mostra como criar um aplicativo de funções que se conecta ao armazenamento em pontos de extremidade privados.

Observação

Ao criar seu aplicativo de funções no portal do Azure, você também pode escolher uma conta de armazenamento protegida existente na guia Armazenamento. No entanto, você precisa configurar a rede apropriada no aplicativo de funções para que ela possa se conectar por meio da rede virtual usada para proteger a conta de armazenamento. Se você não tiver permissões para configurar a rede ou não tiver preparado totalmente sua rede, selecione Configurar a rede após a criação na guia Rede. Você pode configurar a rede para seu novo aplicativo de funções no portal em Configurações>Rede.

Armazenamento seguro para um aplicativo de funções existente

Quando você tem um aplicativo de funções existente, você pode configurar diretamente a rede na conta de armazenamento sendo usada pelo aplicativo. No entanto, esse processo faz com que seu aplicativo de funções fique inativo enquanto você configura a rede e enquanto seu aplicativo de funções é reiniciado.

Para minimizar o tempo de inatividade, você pode trocar uma conta de armazenamento existente por uma nova conta de armazenamento protegida.

1. Habilitar a integração de rede virtual

Como pré-requisito, você precisa habilitar a integração de rede virtual para o seu aplicativo de funções:

  1. Escolha um aplicativo de funções com uma conta de armazenamento que não tenha pontos de extremidade de serviço ou pontos de extremidade privados habilitados.

  2. Habilite a integração da rede virtual para o seu aplicativo.

2. Criar uma conta de armazenamento segura

Configure uma conta de armazenamento segura para o seu aplicativo de funções:

  1. Crie uma segunda conta de armazenamento. Essa conta de armazenamento é a conta de armazenamento protegida para seu aplicativo de funções usar em vez da sua conta de armazenamento original não protegida. Você também pode usar uma conta de armazenamento existente que ainda não está sendo usada pelo Functions.

  2. Salve a cadeia de conexão para a conta de armazenamento usar posteriormente.

  3. Crie um compartilhamento de arquivos na conta de armazenamento nova. Para sua conveniência, você pode usar o mesmo nome do compartilhamento de arquivo da sua conta de armazenamento original. Caso contrário, se você usar um novo nome do compartilhamento de arquivo, deverá atualizar a configuração do aplicativo.

  4. Proteja a nova conta de armazenamento de uma das seguintes maneiras:

    • Crie um ponto de extremidade privado. Quando configurar sua conexão de ponto de extremidade privado, crie pontos de extremidade privados para os sub-recursos file e blob. No caso do Durable Functions, você também precisa tornar os sub-recursos queue e table acessíveis por meio de pontos de extremidade privados. Se você estiver usando um servidor DNS (Sistema de Nomes de Domínio) personalizado ou local, configure seu servidor DNS para resolver para os novos pontos de extremidade privados.

    • Restrinja o tráfego a sub-redes específicas. Verifique se o aplicativo de funções está integrado à rede com uma sub-rede permitida e se a sub-rede tem um ponto de extremidade de serviço para Microsoft.Storage.

  5. Copie o conteúdo do arquivo e do blob da conta de armazenamento usada atualmente pelo aplicativo de funções para a conta de armazenamento protegida e o compartilhamento de arquivos que você acabou de criar. O AzCopy e o Gerenciador de Armazenamento do Microsoft Azure são métodos comuns. Se você usar o Gerenciador de Armazenamento do Microsoft Azure, talvez seja necessário permitir que o endereço IP do cliente acesse o firewall da sua conta de armazenamento.

Agora você está pronto para configurar o seu aplicativo de funções para se comunicar com a conta de armazenamento recém-protegida.

3. Habilitar o roteamento de aplicativos e configurações

Observação

Essas etapas de configuração são necessárias apenas para os planos de hospedagem Elastic Premium e Dedicado (Serviço de Aplicativo). O plano de Consumo Flex não requer configurações de site para configurar a rede.

Agora tudo está pronto para rotear o tráfego do aplicativo de funções para percorrer a rede virtual:

  1. Habilite o roteamento de aplicativos para rotear o tráfego do aplicativo para a rede virtual:

    1. No seu aplicativo de funções, expanda Configurações e selecione Rede. Na página Rede, em Configuração de tráfego de saída, selecione a sub-rede associada à integração de rede virtual.

    2. Na nova página, em Roteamento de aplicativos, selecione Tráfego de Internet de saída.

  2. Habilite o roteamento de compartilhamento de conteúdo para que o seu aplicativo de funções se comunique com a sua nova conta de armazenamento por meio da sua rede virtual. Na mesma página da etapa anterior, em Roteamento de configuração, selecione Armazenamento de conteúdo.

Observação

Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.

4. Atualizar as configurações do aplicativo

Por fim, você precisa atualizar as configurações do aplicativo para apontar para a nova conta de armazenamento segura:

  1. Em seu aplicativo de funções, expanda Configurações e selecione Variáveis de ambiente.

  2. Na guia Configurações do aplicativo, atualize as seguintes configurações selecionando cada configuração, editando-a e selecionando Aplicar:

    Nome da configuração Valor Comentário
    AzureWebJobsStorage Cadeia de conexão de armazenamento Use a cadeia de conexão para sua nova conta de armazenamento protegida, que você salvou anteriormente.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Cadeia de conexão de armazenamento Use a cadeia de conexão para sua nova conta de armazenamento protegida, que você salvou anteriormente.
    WEBSITE_CONTENTSHARE Compartilhamento de arquivo Use o nome do compartilhamento de arquivos criado na conta de armazenamento protegida em que residem os arquivos de implantação do projeto.
  3. Selecione Aplicar e, depois, Confirmar para salvar as novas configurações de aplicativo no aplicativo de funções.

    O aplicativo de funções será reiniciado.

Depois que o aplicativo de funções terminar de reiniciar, ele se conectará à conta de armazenamento protegida.

Próximas etapas