Utilizar pontos finais privados para o Armazenamento do Azure

Você pode usar pontos de extremidade privados para suas contas de Armazenamento do Azure para permitir que clientes em uma rede virtual (VNet) acessem dados com segurança por meio de um Link Privado. Um ponto final privado utiliza um endereço IP separado do espaço de endereço da VNet para o serviço de conta de armazenamento. O tráfego de rede entre os clientes na VNet e a conta de armazenamento atravessa a VNet e um link privado na rede de backbone da Microsoft, eliminando a exposição da Internet pública.

Nota

Os pontos de extremidade privados não estão disponíveis para contas de armazenamento v1 de uso geral.

A utilização de pontos finais privados para a sua conta de armazenamento permite-lhe:

  • Proteger a conta de armazenamento ao configurar a firewall de armazenamento para bloquear todas as ligações no ponto final público para o serviço de armazenamento.
  • Aumentar a segurança da rede virtual (VNet) mediante o bloqueio da transferência de dados não autorizada a partir da VNet.
  • Conecte-se com segurança a contas de armazenamento de redes locais que se conectam à rede virtual usando VPN ou ExpressRoutes com emparelhamento privado.

Descrição geral conceptual

Visão geral dos pontos de extremidade privados para o Armazenamento do Azure

Um ponto de extremidade privado é uma interface de rede especial para um serviço do Azure em sua Rede Virtual (VNet). Quando você cria um ponto de extremidade privado para sua conta de armazenamento, ele fornece conectividade segura entre clientes em sua rede virtual e seu armazenamento. O ponto de extremidade privado recebe um endereço IP do intervalo de endereços IP da sua rede virtual. A conexão entre o ponto de extremidade privado e o serviço de armazenamento usa um link privado seguro.

Os aplicativos na VNet podem se conectar ao serviço de armazenamento no ponto de extremidade privado perfeitamente, usando as mesmas cadeias de conexão e mecanismos de autorização que usariam de outra forma. Os endpoints privados podem ser usados com todos os protocolos suportados pela conta de armazenamento, incluindo REST e SMB.

Pontos de extremidade privados podem ser criados em sub-redes que usam pontos de extremidade de serviço. Assim, os clientes em uma sub-rede podem se conectar a uma conta de armazenamento usando um ponto de extremidade privado, enquanto usam pontos de extremidade de serviço para acessar outros.

Quando cria um ponto final privado para um serviço de armazenamento na VNet, é enviado um pedido de consentimento para aprovação ao proprietário da conta de armazenamento. Se o utilizador que está a pedir a criação do ponto final privado for também um proprietário da conta de armazenamento, este pedido de consentimento é aprovado automaticamente.

Os proprietários de contas de armazenamento podem gerenciar solicitações de consentimento e os pontos de extremidade privados por meio da guia 'Pontos de extremidade privados' para a conta de armazenamento no portal do Azure.

Gorjeta

Se você quiser restringir o acesso à sua conta de armazenamento somente por meio do ponto de extremidade privado, configure o firewall de armazenamento para negar ou controlar o acesso por meio do ponto de extremidade público.

Você pode proteger sua conta de armazenamento para aceitar apenas conexões de sua rede virtual configurando o firewall de armazenamento para negar acesso por meio de seu ponto de extremidade público por padrão. Você não precisa de uma regra de firewall para permitir o tráfego de uma VNet que tenha um ponto de extremidade privado, já que o firewall de armazenamento controla apenas o acesso por meio do ponto de extremidade público. Em vez disso, os pontos de extremidade privados dependem do fluxo de consentimento para conceder acesso às sub-redes ao serviço de armazenamento.

Nota

Ao copiar blobs entre contas de armazenamento, o cliente deve ter acesso à rede para ambas as contas. Portanto, se você optar por usar um link privado para apenas uma conta (seja a origem ou o destino), certifique-se de que seu cliente tenha acesso à rede para a outra conta. Para saber mais sobre outras maneiras de configurar o acesso à rede, consulte Configurar firewalls de armazenamento do Azure e redes virtuais.

Criando um ponto de extremidade privado

Para criar um ponto de extremidade privado usando o Portal do Azure, consulte Conectar-se de forma privada a uma conta de armazenamento a partir da experiência da Conta de Armazenamento no portal do Azure.

Para criar um ponto de extremidade privado usando o PowerShell ou a CLI do Azure, consulte um destes artigos. Ambos apresentam um aplicativo Web do Azure como o serviço de destino, mas as etapas para criar um link privado são as mesmas para uma conta de Armazenamento do Azure.

Quando cria um ponto final privado, tem de especificar a conta de armazenamento e o serviço de armazenamento ao qual se liga.

Você precisa de um ponto de extremidade privado separado para cada recurso de armazenamento que precisa acessar, ou seja, Blobs, Data Lake Storage Gen2, Arquivos, Filas, Tabelas ou Sites estáticos. No ponto de extremidade privado, esses serviços de armazenamento são definidos como o subrecurso de destino da conta de armazenamento associada.

Se você criar um ponto de extremidade privado para o recurso de armazenamento Data Lake Storage Gen2, também deverá criar um para o recurso de Armazenamento de Blob. Isso porque as operações destinadas ao ponto final do Data Lake Storage Gen2 podem ser redirecionadas para o ponto final de Blobs. Da mesma forma, se adicionar um ponto final privado apenas para o Armazenamento de Blobs, e não para o Data Lake Storage Gen2, algumas operações (como Gerir a ACL, Criar Diretório, Eliminar Diretório, etc.) irão falhar, uma vez que as APIs do Gen2 exigem um ponto final privado do DFS. Ao criar um ponto final privado para ambos os recursos, garante que todas as operações possam ser concluídas com êxito.

Gorjeta

Crie um ponto de extremidade privado separado para a instância secundária do serviço de armazenamento para melhor desempenho de leitura em contas RA-GRS. Certifique-se de criar uma conta de armazenamento v2 (Standard ou Premium) de uso geral.

Para acesso de leitura à região secundária com uma conta de armazenamento configurada para armazenamento com redundância geográfica, você precisa de pontos de extremidade privados separados para as instâncias primária e secundária do serviço. Não é necessário criar um ponto de extremidade privado para a instância secundária para failover. O ponto de extremidade privado se conectará automaticamente à nova instância primária após o failover. Para obter mais informações sobre opções de redundância de armazenamento, consulte Redundância de armazenamento do Azure.

Conectando-se a um ponto de extremidade privado

Os clientes em uma VNet que usam o ponto de extremidade privado devem usar a mesma cadeia de conexão para a conta de armazenamento que os clientes que se conectam ao ponto de extremidade público. Dependemos da resolução DNS para rotear automaticamente as conexões da rede virtual para a conta de armazenamento por meio de um link privado.

Importante

Use a mesma cadeia de conexão para se conectar à conta de armazenamento usando pontos de extremidade privados como você usaria de outra forma. Não se conecte à conta de armazenamento usando o URL do subdomínio privatelink .

Por padrão, criamos uma zona DNS privada anexada à VNet com as atualizações necessárias para os pontos de extremidade privados. No entanto, se estiver a utilizar o seu próprio servidor DNS, poderá ter de fazer alterações adicionais à sua configuração de DNS. A seção sobre alterações de DNS abaixo descreve as atualizações necessárias para pontos de extremidade privados.

Alterações de DNS para pontos de extremidade privados

Nota

Para obter detalhes sobre como definir suas configurações de DNS para pontos de extremidade privados, consulte Configuração de DNS do Ponto de Extremidade Privado do Azure.

Quando você cria um ponto de extremidade privado, o registro de recurso CNAME DNS para a conta de armazenamento é atualizado para um alias em um subdomínio com o prefixo privatelink. Por padrão, também criamos uma zona DNS privada, correspondente ao privatelink subdomínio, com os registros de recursos DNS A para os pontos de extremidade privados.

Quando você resolve a URL do ponto de extremidade de armazenamento de fora da rede virtual com o ponto de extremidade privado, ela é resolvida para o ponto de extremidade público do serviço de armazenamento. Quando resolvido a partir da VNet que hospeda o ponto de extremidade privado, a URL do ponto de extremidade de armazenamento é resolvida para o endereço IP do ponto de extremidade privado.

Para o exemplo ilustrado acima, os registros de recursos DNS para a conta de armazenamento 'StorageAccountA', quando resolvidos de fora da VNet que hospeda o ponto de extremidade privado, serão:

Nome Tipo valor
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net CNAME <Ponto de extremidade público do serviço de armazenamento>
<Ponto de extremidade público do serviço de armazenamento> A <endereço IP público do serviço de armazenamento>

Como mencionado anteriormente, você pode negar ou controlar o acesso de clientes fora da rede virtual por meio do ponto de extremidade público usando o firewall de armazenamento.

Os registros de recursos DNS para StorageAccountA, quando resolvidos por um cliente na VNet que hospeda o ponto de extremidade privado, serão:

Nome Tipo valor
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net A 10.1.1.5

Essa abordagem permite o acesso à conta de armazenamento usando a mesma cadeia de conexão para clientes na VNet que hospeda os pontos de extremidade privados, bem como clientes fora da VNet.

Se você estiver usando um servidor DNS personalizado em sua rede, os clientes deverão ser capazes de resolver o FQDN do ponto de extremidade da conta de armazenamento para o endereço IP do ponto de extremidade privado. Você deve configurar seu servidor DNS para delegar seu subdomínio de link privado à zona DNS privada para a rede virtual ou configurar os registros A para StorageAccountA.privatelink.blob.core.windows.net com o endereço IP do ponto de extremidade privado.

Gorjeta

Ao usar um servidor DNS personalizado ou local, você deve configurar o servidor DNS para resolver o nome da conta de armazenamento no privatelink subdomínio para o endereço IP do ponto de extremidade privado. Você pode fazer isso delegando o privatelink subdomínio à zona DNS privada da VNet ou configurando a zona DNS no servidor DNS e adicionando os registros DNS A.

Os nomes de zona DNS recomendados para pontos de extremidade privados para serviços de armazenamento e os subrecursos de destino de ponto de extremidade associados são:

Serviço de armazenamento Recurso secundário de destino Nome da zona
Serviço Blob blob privatelink.blob.core.windows.net
Armazenamento do Data Lake Ger2 DFS privatelink.dfs.core.windows.net
Serviço de ficheiros ficheiro privatelink.file.core.windows.net
Serviço Fila queue privatelink.queue.core.windows.net
Serviço Tabelas tabela privatelink.table.core.windows.net
Websites estáticos web privatelink.web.core.windows.net

Para obter mais informações sobre como configurar seu próprio servidor DNS para oferecer suporte a pontos de extremidade privados, consulte os seguintes artigos:

Preços

Para obter detalhes de preços, consulte Preços do Azure Private Link.

Problemas Conhecidos

Lembre-se dos seguintes problemas conhecidos sobre pontos de extremidade privados para o Armazenamento do Azure.

Restrições de acesso ao armazenamento para clientes em redes virtuais com pontos de extremidade privados

Os clientes em redes virtuais com pontos de extremidade privados existentes enfrentam restrições ao acessar outras contas de armazenamento que têm pontos de extremidade privados. Por exemplo, suponha que uma VNet N1 tenha um ponto de extremidade privado para uma conta de armazenamento A1 para armazenamento de Blob. Se a conta de armazenamento A2 tiver um ponto de extremidade privado em uma VNet N2 para armazenamento de Blob, os clientes na VNet N1 também deverão acessar o armazenamento de Blob na conta A2 usando um ponto de extremidade privado. Se a conta de armazenamento A2 não tiver nenhum ponto de extremidade privado para armazenamento de Blob, os clientes na VNet N1 poderão acessar o armazenamento de Blob nessa conta sem um ponto de extremidade privado.

Essa restrição é resultado das alterações de DNS feitas quando a conta A2 cria um ponto de extremidade privado.

Copiando blobs entre contas de armazenamento

Você pode copiar blobs entre contas de armazenamento usando pontos de extremidade privados somente se usar a API REST do Azure ou ferramentas que usam a API REST. Essas ferramentas incluem AzCopy, Gerenciador de Armazenamento, Azure PowerShell, CLI do Azure e os SDKs de Armazenamento de Blob do Azure.

Somente pontos de extremidade privados que visam o ponto de extremidade do blob recurso de armazenamento ou file são suportados. Isso inclui chamadas de API REST em contas do Data Lake Storage Gen2 nas quais o ponto de extremidade do blob recurso é referenciado explícita ou implicitamente. Os pontos de extremidade privados destinados ao ponto de extremidade de recurso do Data Lake Storage Gen2 dfs ainda não são suportados. A cópia entre contas de armazenamento usando o protocolo NFS (Network File System) ainda não é suportada.

Próximos passos