Partilhar via


Como usar uma conta de armazenamento segura com o Azure Functions

As Funções do Azure requerem uma conta de Armazenamento do Azure quando cria uma instância de aplicação de funções. Essa conta de armazenamento padrão é usada pelo tempo de execução do Functions para manter a integridade do seu aplicativo de função. Para obter mais informações, veja Considerações de armazenamento das Funções do Azure. Este artigo mostra como usar uma conta de armazenamento segura como a conta de armazenamento padrão. Para obter um tutorial detalhado sobre como criar seu aplicativo de função com restrições de acesso de entrada e saída, consulte o tutorial Integrar com uma rede virtual. Para saber mais sobre o Azure Functions e a rede, consulte Opções de rede do Azure Functions.

Restringir a conta de armazenamento a uma rede virtual

Ao criar um aplicativo funcional, você cria uma nova conta de armazenamento ou vincula a uma existente. Tenha estas considerações em mente ao trabalhar com uma conta de armazenamento segura.

  • Para criar um aplicativo de função que usa uma conta de armazenamento segura existente como a conta de armazenamento padrão, você deve criar seu aplicativo no portal do Azure ou usando o modelo ARM ou implantações do Bicep.
  • Ao usar uma conta de armazenamento segura com um plano de escala dinâmica, você deve hospedar suas funções no plano Flex Consumption. Este plano suporta contas de armazenamento seguras e ligações geridas baseadas em identidade ao armazenamento, que é a opção de ligação mais segura.
  • Todos os níveis do plano Dedicado (Serviço de Aplicativo) e do plano Elastic Premium também oferecem suporte a contas de armazenamento seguras. No entanto, há compensações ao usar identidades gerenciadas para se conectar a partir de um aplicativo de plano Premium. Para obter mais informações, consulte Criar um aplicativo sem Arquivos do Azure.
  • O plano de Consumo não suporta redes virtuais, pelo que não pode ligar a uma conta de armazenamento segura quando executa o plano de Consumo. Para aproveitar a hospedagem de funções sem servidor, você deve, em vez disso, recriar seu aplicativo para ser executado no plano Flex Consumption.
  • Atualmente, este artigo mostra como criar um aplicativo funcional em um plano Premium que se conecta a uma conta de armazenamento segura usando a cadeia de conexão da conta de armazenamento. Para fornecer a melhor proteção das credenciais da conta de armazenamento, você deve usar identidades gerenciadas ao se conectar a uma conta de armazenamento. Em vez disso, siga o Guia de início rápido: criar e implantar funções no Azure Functions usando a CLI do desenvolvedor do Azure para criar um aplicativo de função no plano Flex Consumption que se conecta a uma nova conta de armazenamento segura usando identidades gerenciadas.
  • Para obter uma lista de todas as restrições em contas de armazenamento, consulte Requisitos da conta de armazenamento.

Armazenamento seguro durante a criação de aplicativos de função

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

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

Nota

Ao criar seu aplicativo de função no portal do Azure, você também pode escolher uma conta de armazenamento segura existente na guia Armazenamento . No entanto, você deve configurar a rede apropriada no aplicativo de função para que ele possa se conectar através 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 rede após a criação na guia Rede. Você pode configurar a rede para seu novo aplicativo de função no portal em Configurações>de rede.

Armazenamento seguro para um aplicativo de função existente

Quando você tem um aplicativo de função existente, você pode configurar diretamente a rede na conta de armazenamento que está sendo usada pelo aplicativo. No entanto, esse processo resulta em seu aplicativo de função estar inativo enquanto você configura a rede e enquanto seu aplicativo de função é reiniciado.

Para minimizar o tempo de inatividade, você pode, em vez disso, trocar uma conta de armazenamento existente por uma nova conta de armazenamento segura.

1. Habilite a integração de rede virtual

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

  1. Escolha um aplicativo de função 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 de rede virtual para seu aplicativo de função.

2. Crie uma conta de armazenamento segura

Configure uma conta de armazenamento segura para seu aplicativo funcional:

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

  2. Salve a cadeia de conexão para esta conta de armazenamento para usar mais tarde.

  3. Crie um compartilhamento de arquivos na nova conta de armazenamento. Para sua conveniência, você pode usar o mesmo nome de compartilhamento de arquivos da sua conta de armazenamento original. Caso contrário, se você usar um novo nome de compartilhamento de arquivos, 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. Ao configurar sua conexão de ponto de extremidade privado, crie pontos de extremidade privados para os file e blob subrecursos. Para funções duráveis, você também deve tornar queue e table sub-recursos 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 o servidor DNS para resolver para os novos pontos de extremidade privados.

    • Restrinja o tráfego a sub-redes específicas. Verifique se seu aplicativo de função 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 de arquivo e blob da conta de armazenamento atual usada pelo aplicativo de função para a conta de armazenamento recém-protegida e o compartilhamento de arquivos. AzCopy e Azure Storage Explorer são métodos comuns. Se você usar o Gerenciador de Armazenamento do 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 seu aplicativo de função para se comunicar com a conta de armazenamento recém-protegida.

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

Nota

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

Agora você está pronto para rotear o tráfego do seu aplicativo de função para passar pela rede virtual:

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

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

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

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

Nota

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

4. Atualize as configurações do aplicativo

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

  1. Na sua aplicação de funções, expanda Definições e, em seguida, selecione Variáveis de ambiente.

  2. No separador Definições da aplicação, atualize as seguintes definições selecionando cada definição, editando-a e, em seguida, selecionando Aplicar:

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

    O aplicativo de função é reiniciado.

Depois que o aplicativo de função termina de reiniciar, ele se conecta à conta de armazenamento segura.

Próximos passos