Proteger sua conta de Armazenamento do Azure

O Armazenamento do Azure oferece armazenamento em nuvem escalável e durável para blobs, arquivos, filas e tabelas em uma única conta de armazenamento. Como uma conta de armazenamento pode armazenar dados com níveis de sensibilidade muito diferentes e frequentemente é alvo de ataques de exfiltração e ransomware, tome medidas deliberadas para proteger a conta, os dados que ela possui e as identidades que a acessam.

Este artigo fornece recomendações de segurança para ajudar a proteger sua conta do Armazenamento do Azure. Essas recomendações se aplicam a todos os serviços de dados da conta (Blobs, Arquivos, Filas e Tabelas). Para orientações específicas para cada serviço de dados, consulte os artigos relacionados sobre segurança ao final deste artigo.

As recomendações de segurança neste artigo implementam os princípios de Confiança Zero: "Verificar explicitamente", "Usar acesso de privilégio mínimo" e "Presumir violação". Para obter diretrizes abrangentes sobre Confiança Zero, consulte o Centro de Diretrizes de Confiança Zero.

Segurança específica do serviço

O Armazenamento do Azure possui características arquitetônicas que moldam a forma como você o implanta de forma segura. As escolhas que você faz ao criar uma conta – modelo de implantação, tipo, redundância e configuração de endpoint – são difíceis de alterar depois e afetam a postura de segurança de toda carga de trabalho que utiliza a conta.

Arquitetura da conta de armazenamento

  • Use o modelo de implantação do Azure Resource Manager: Crie novas contas de armazenamento usando o modelo de implantação do Azure Resource Manager. As contas do Resource Manager suportam controle de acesso baseado em função (RBAC) no Azure, identidades gerenciadas, autorização do Microsoft Entra ID para dados, bloqueios de recursos, tags e políticas – nenhum dos quais está disponível no modelo clássico de implantação. Migre quaisquer contas clássicas restantes. Para mais informações, veja Migrar uma conta de armazenamento clássico para o Azure Resource Manager.

  • Separe contas de armazenamento por carga de trabalho, ambiente e sensibilidade: Crie contas separadas para desenvolvimento, pré-produção e produção, e contas separadas para dados com diferentes classificações de sensibilidade. Uma conta de armazenamento é uma fronteira de confiança baseada em chave compartilhada e uma fronteira de política, e misturar cargas de trabalho em uma única conta aumenta o raio de impacto de um comprometimento e dificulta a modelagem do acesso de menor privilégio.

  • Use uma conta por região para isolamento regional: Colocar as contas na região em que as cargas de trabalho que as consomem são executadas reduz a transferência de dados entre regiões e simplifica os limites de conformidade. Para projetos multirregionais, parear contas regionais com armazenamento geo-redundante ou replicação de objetos, em vez de atender todas as regiões a partir de uma única conta. Para obter mais informações, consulte Redundância do Armazenamento do Azure.

Uso apropriado do Armazenamento do Azure

  • Não use chaves da conta de Armazenamento do Azure como credenciais de aplicativo de longa duração: As chaves da conta de Armazenamento do Azure concedem controle total sobre a conta e não podem ter o escopo restringido. Os aplicativos devem usar o Microsoft Entra ID com identidades gerenciadas ou, quando o Entra ID não for uma opção, tokens SAS de delegação de usuário de curta duração. Para obter mais informações, consulte Authorize o acesso aos dados em Armazenamento do Azure.

  • Não use o Armazenamento do Azure como um armazenamento de segredos de uso geral: segredos, strings de conexão e certificados pertencem ao Azure Key Vault, que fornece rotação, políticas de acesso, proteção do módulo de segurança de hardware (HSM) e trilhas de auditoria. Para obter mais informações, consulte a visão geral do Azure Key Vault.

Segurança de rede

As contas de armazenamento são acessíveis pela internet por padrão. Reduzir a superfície de ataque na rede é a mudança mais eficaz que você pode fazer para proteger uma conta contra acesso não autorizado, exfiltração de dados e reconhecimento.

  • Desative o acesso à rede pública à conta de armazenamento: Quando seus clientes estiverem totalmente no Azure ou acessíveis via Link Privado, configure o acesso público da conta para Desativado para que apenas solicitações por endpoints privados sejam aceitas. Para saber mais, consulte Configurar Redes Virtuais e Firewalls de Armazenamento do Azure.

  • Use pontos de extremidade privados para acesso a partir de redes virtuais: Um ponto de extremidade privado atribui à conta de armazenamento um endereço IP privado da sua rede virtual e encaminha o tráfego pela rede de backbone da Microsoft. Combinado com o acesso público à rede desativado, os endpoints privados eliminam a exposição à internet. Para mais informações, confira Usar pontos de extremidade privados para o Armazenamento do Microsoft Azure.

  • Restringa o acesso público com o firewall de armazenamento quando endpoints privados não forem práticos: Se os clientes precisarem acessar a conta por rede pública, defina a ação padrão do firewall para Negar e permita apenas as faixas específicas de IP, sub-redes virtuais de rede (via endpoints de serviço) ou instâncias de recursos que precisam de acesso. Para saber mais, consulte Configurar Redes Virtuais e Firewalls de Armazenamento do Azure.

    • Permitir serviços confiáveis da Microsoft quando precisarem acessar a conta: Regras de firewall que negam acesso por padrão bloqueiam solicitações de outros serviços do Azure (por exemplo, Backup do Azure, Log Analytics e Microsoft Defender for Storage), bem como do portal do Azure e de pipelines de diagnóstico. Adicione a exceção Permitir que os serviços do Azure na lista de serviços confiáveis acessem esta conta de armazenamento para que os serviços primários dos quais você depende possam acessar a conta sem abri-la para a Internet pública. Para obter mais informações, consulte Conceder acesso a serviços confiáveis do Azure.

    • Conceda acesso a instâncias específicas de recursos em vez de serviços confiáveis de forma ampla: Prefira regras de instância de recursos, que autorizam um recurso Azure nomeado e sua identidade gerenciada, em vez da exceção geral "Permitir serviços Microsoft confiáveis". Regras de instância de recurso proporcionam uma superfície de confiança menor. Para obter mais informações, consulte Conceder acesso a partir de instâncias de recursos do Azure.

  • Associe contas de armazenamento a um perímetro de segurança de rede: Um perímetro de segurança de rede define limites lógicos entre a plataforma como recursos de serviço e bloqueia o tráfego fora do perímetro por padrão, proporcionando defesa em profundidade além das regras de firewall por conta. Para mais informações, veja Perímetro de Segurança de Rede para Armazenamento do Azure.

  • Imponha uma versão mínima TLS da 1.2 ou posterior: Configure a versão mínima TLS da conta de armazenamento para rejeitar clientes que negociam versões antigas e obsoletas. Para mais informações, veja Configurar a versão mínima exigida do Transport Layer Security (TLS) para uma conta de armazenamento.

  • Exigir transferência segura (HTTPS): Ative que a propriedade necessária para transferência segura rejeite qualquer solicitação feita via HTTP. Esse requisito se aplica tanto aos endpoints REST quanto ao acesso SMB ao Arquivos do Azure. Para mais informações, veja Exigir transferência segura para uma conta de armazenamento.

    • Alguns cenários, como clientes antigos, PMEs ou ferramentas legadas, exigem HTTP. Nesses casos, isole esses clientes em um segmento de rede controlado e migre-os para fora do HTTP o mais rápido possível.
  • Restrinja a replicação e as operações de cópia de objetos entre locatários: Configure a conta de armazenamento para permitir operações de cópia e de replicação de objetos apenas de contas de origem no mesmo locatário, ou apenas de contas de origem incluídas em uma lista de permissões. Essa configuração impede a movimentação de dados através dos limites do tenant por usuários que possuem permissões no plano de dados. Para mais informações, veja Escopo permitido para operações de cópia e Impedir a replicação de objetos entre os inquilinos Microsoft Entra.

  • Use tags de serviço de VNet em regras de saída para o Armazenamento do Azure: ao restringir o tráfego de saída de uma rede virtual para o Armazenamento do Azure, use Storage (ou a variante específica da região) em vez de intervalos de IP codificados manualmente. A Microsoft mantém a tag de serviço à medida que o espaço IP evolui. Para obter mais informações, consulte visão geral das tags de serviço do Azure.

  • Prefira a rede global da Microsoft para roteamento de entrada: Configure a preferência de roteamento de rede da conta de armazenamento para o roteamento de rede da Microsoft, de modo que o tráfego de entrada entre na espinha dorsal da Microsoft no ponto de presença mais próximo do cliente e permaneça na rede da Microsoft de ponta a ponta. O roteamento da internet sai da rede da Microsoft mais cedo e aumenta a exposição ao caminho público da internet. Para obter mais informações, consulte Configurar a preferência de roteamento de rede para o armazenamento do Azure.

Gerenciamento de identidade e acesso

Contas de armazenamento suportam dois modelos de autorização: Microsoft Entra ID (baseado em identidade, auditável, revogável) e Chave Compartilhada (um segredo simétrico com acesso total à conta). Mova cargas de trabalho para o Microsoft Entra ID sempre que possível e trate a Chave Compartilhada como um recurso legado.

  • Use o Microsoft Entra ID para autorizar o acesso aos dados: A autorização do Microsoft Entra ID utiliza tokens OAuth 2.0 e se integra ao Acesso Condicional, identidades gerenciadas e trilhas de auditoria RBAC. É superior em todos os aspectos à Chave Compartilhada para acesso ao plano de dados. Para obter mais informações, consulte Authorize o acesso aos dados em Armazenamento do Azure.

  • Desabilitar a autorização por Chave Compartilhada: Defina a propriedade allowSharedKeyAccess como false para que a conta rejeite qualquer solicitação assinada com as chaves da conta. Somente Microsoft Entra ID e, quando aplicável, requisições SAS de delegação de usuários são aceitas. Para obter mais informações, veja Impedir a autorização de chave compartilhada para uma conta do Armazenamento do Microsoft Azure.

  • Atribua funções RBAC no menor escopo razoável: atribuir as funções embutidas do plano de dados de Armazenamento (por exemplo, Leitor de Dados de Blob de Armazenamento, Colaborador de Dados da Fila de Armazenamento) no nível do contêiner, compartilhamento, fila ou tabela quando possível, em vez de no nível da conta ou assinatura. Para mais informações, veja Autorizar acesso a blobs usando controle de acesso baseado em função do Azure.

    • Adicionar condições ABAC para restringir ainda mais o acesso ao plano de dados: o controle de acesso baseado em atributos (ABAC) do Azure permite anexar condições às atribuições de função – por exemplo, restringindo o acesso a blobs com uma tag de índice específica ou sob um prefixo de caminho específico. Para ter mais informações, veja Autorizar acesso a blobs usando atribuições de funções do Azure com condições ABAC.
  • Use SAS de delegação de usuário em vez de SAS de serviço ou de conta quando for necessário usar SAS: um SAS de delegação de usuário é assinado com credenciais do Microsoft Entra, e não com a chave da conta, portanto, revogar a chave de delegação de usuário invalida imediatamente todos os SAS emitidos a partir dela. Tokens SAS de serviço e de conta assinados com chaves de conta não podem ser revogados individualmente. Para obter mais informações, confira Conceder acesso limitado a recursos de Armazenamento do Azure usando SAS (assinaturas de acesso compartilhado).

  • Se você precisar usar chaves de conta, proteja-as e rotative-as: armazene as chaves de conta no Azure Key Vault, recupere-as em tempo de execução em vez de incorporá-las na configuração, e rotative-as em uma cadência definida. Tenha um procedimento de rotação documentado que evite o tempo de inatividade usando ambas as teclas durante a substituição. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento.

  • Atribua funções privilegiadas de armazenamento just-in-time com o Microsoft Entra Privileged Identity Management (PIM): para funções que concedem alterações no plano de gerenciamento do armazenamento (como Colaborador da Conta de Armazenamento ou Proprietário), exija ativação via PIM com aprovação e autenticação multifator, em vez de atribuições permanentes. Para obter mais informações, consulte o que é o Microsoft Entra Privileged Identity Management?.

Proteção de dados

O Armazenamento do Azure criptografa todos os dados em repouso por padrão com chaves gerenciadas pela Microsoft. As recomendações desta seção adicionam controle do cliente, proteção contra modificações acidentais ou maliciosas e reduzem a exposição de dados em trânsito e em repouso.

  • Configure chaves gerenciadas pelo cliente (CMK) para criptografia em repouso: Use uma chave que você gerencia no Azure Key Vault ou HSM gerenciado como chave de criptografia da conta. O CMK permite que você rodíce, audite e revoge a chave de criptografia independentemente das chaves gerenciadas pela Microsoft. Ele suporta requisitos de conformidade que exigem controle de chaves pelo cliente. Para obter mais informações, consulte chaves gerenciadas pelo cliente para a criptografia do Armazenamento do Azure.

  • Habilitar a criptografia de infraestrutura para criptografia dupla de defesa em profundidade: A criptografia de infraestrutura aplica uma segunda camada de criptografia gerenciada por serviços sobre a camada principal de criptografia. Você deve ativar isso na criação da conta. Para mais informações, veja Habilitar criptografia de infraestrutura para criptografia dupla de dados.

  • Use os escopos de criptografia para isolar a criptografia de contêineres ou blobs específicos: Os escopos de criptografia permitem aplicar diferentes chaves ou políticas de rotação de chaves com granularidade no nível do contêiner ou do blob em uma única conta. Esse recurso é útil para cargas de trabalho multilocatário que compartilham uma conta, mas precisam de controle de chaves por locatário. Para mais informações, veja Escopos de criptografia para Armazenamento de Blobs.

  • Habilitar a criptografia do Armazenamento do Azure para todos os dados em trânsito: Combine Secure transfer required = enabled (veja Segurança de rede) com uma versão mínima de TLS 1.2 ou posterior. Juntos, eles garantem que a conta rejeite tanto conexões não criptografadas quanto fracamente criptografadas.

  • Use criptografia do lado do cliente para os dados mais sensíveis: Para dados cujo texto simples nunca deve aparecer no servidor, criptografe no cliente antes do upload. A criptografia do lado do cliente é complementar à criptografia do lado do serviço e pode ser usada junto com o CMK para proteção em camadas. Para suporte e padrões de SDK por serviço, veja Artigos relacionados de segurança.

  • Proteja a conta de armazenamento com um bloqueio de recurso: Aplique um bloqueio CanNotDelete ou ReadOnly para evitar exclusão ou reconfiguração acidental ou maliciosa da própria conta. Bloqueios se aplicam ao recurso da conta, não aos dados dentro dele, então complementam – não substituem – a exclusão suave e a imutabilidade. Para obter mais informações, consulte aplicar um bloqueio de Azure Resource Manager a uma conta de armazenamento.

Para recursos de proteção de dados específicos do serviço de dados (imutabilidade de blobs e políticas WORM, escopos de criptografia de blobs), consulte o subartigo correspondente em Artigos de segurança relacionados.

Registro e monitoramento

Contas de armazenamento são alvos frequentes de roubo de credenciais, tentativas de exfiltração e configurações incorretas. Você precisa de registros contínuos e detecção de ameaças para detectar e responder rapidamente a ataques.

  • Ative o Microsoft Defender para Armazenamento: O Defender para Armazenamento oferece detecção de ameaças, varredura de malware no upload para blobs e descoberta de dados sensíveis. Ele sinaliza padrões de acesso anômalos, IPs e saídas do Tor maliciosos conhecidos, além de atividades de autenticação incomuns. Ative-o no nível da assinatura ou da conta de armazenamento. Para mais informações, veja Visão Geral do Microsoft Defender para Armazenamento.

    • Habilitar a varredura de malware para envios de blobs em contas que aceitam conteúdo não confiável: A varredura de malware inspeciona blobs enviados e marca ou remove conteúdo malicioso antes que ele possa ser servido aos consumidores posteriores. Para mais informações, consulte Verificação de malware no Microsoft Defender para Armazenamento.

    • Ative a detecção de ameaças de dados sensíveis: A descoberta de dados sensíveis classifica os dados na conta e prioriza alertas em contêineres que contêm informações sensíveis. Para mais informações, veja Descoberta de dados sensíveis no Defender for Storage.

  • Enviar configurações de diagnóstico para um espaço de trabalho do Log Analytics: Configure as configurações de diagnóstico na conta e em cada serviço de dados (Blobs, Arquivos, Filas, Tabelas) para enviar os logs de StorageRead, StorageWrite e StorageDelete, além de todas as métricas para o Log Analytics. Mantenha os registros pelo período exigido pelas suas obrigações de conformidade. Para saber mais, confira Monitorar o Armazenamento do Azure.

  • Audite como cada requisição é autorizada: Os logs de armazenamento registram se cada solicitação foi autorizada com Microsoft Entra ID, Chave Compartilhada, SAS ou anonimamente. Consulte os logs regularmente para detectar métodos de autorização inesperados, especialmente o uso de Chave Compartilhada após desativá-lo ou o acesso anônimo após desativá-lo. Para mais informações, veja Monitorar solicitações contra o Armazenamento do Azure.

  • Alerte em eventos de segurança de alto sinal: Configure alertas do Azure Monitor para eventos como regeneração de chaves, mudanças nas regras do firewall, alterações no acesso à rede pública, uso de chaves compartilhadas em contas onde devem ser desativadas e alertas do Defender para Armazenamento. Para obter mais informações, confira Alertas de log no Azure Monitor.

  • Encaminhe logs para um SIEM central: Para resposta em escala empresarial, encaminhe logs de armazenamento do Log Analytics para o Microsoft Sentinel ou outro SIEM, de modo que os eventos de armazenamento correlacionem com sinais de identidade, rede e endpoint. Para mais informações, veja Conecte Armazenamento do Azure ao Microsoft Sentinel.

Conformidade e governança

Os controles de governança tornam configurações seguras padrão e detectam desvio automaticamente. Para qualquer patrimônio de armazenamento maior que algumas contas, a fiscalização baseada em políticas é a única forma sustentável de manter a linha de base consistente.

  • Aplique o Azure Policy para garantir a segurança básica do armazenamento: Atribua políticas embutidas que bloqueiam configurações inseguras no momento da implantação e audite contas existentes. Recursos internos de alto valor incluem: exigir transferência segura, exigir no mínimo TLS 1.2, negar acesso à rede pública, negar acesso público a blobs, exigir criptografia de infraestrutura e exigir chaves gerenciadas pelo cliente (CMK). Para uma lista completa, veja definições embutidas do Azure Policy para Armazenamento do Azure e controles de conformidade regulatória do Azure Policy para Armazenamento do Azure.

  • Use o benchmark de segurança em nuvem da Microsoft (MCSB) como base: alinhe os controles de armazenamento com os domínios MCSB v2 para uma postura de segurança consistente entre os serviços. Para mais informações, veja Visão Geral do benchmark de segurança em nuvem da Microsoft.

  • Contas de armazenamento de etiquetas com proprietário, classificação de dados e ambiente: políticas de governança, gerenciamento de custos e resposta a incidentes dependem de marcação consistente. Aplique tags via Azure Policy para que não possam ser omitidas na criação.

  • Revise as ofertas de conformidade antes de armazenar dados regulados: o Armazenamento do Azure possui certificações para marcos regulatórios comuns (HIPAA, PCI DSS, FedRAMP, ISO 27001 e outros). Confirme a cobertura da sua carga de trabalho antes da implantação. Para mais informações, veja as ofertas de conformidade do Armazenamento do Azure.

Backup e recuperação

Redundância entre regiões, além de procedimentos validados de failover, proporcionam resiliência regional para a própria conta de armazenamento. Para a proteção contra exclusão específica de cada serviço de dados (exclusão reversível de blobs, versionamento de blobs, feed de alterações, restauração para um ponto no tempo, exclusão reversível de compartilhamentos de arquivos e instantâneos), consulte o subartigo correspondente em Artigos de segurança relacionados.

  • Escolha uma opção de redundância adequada para suas necessidades de recuperação: Armazenamento Geo-redundante (GRS/RA-GRS/GZRS/RA-GZRS) replica dados para uma região pareada e suporta failover iniciado pelo cliente para resiliência regional. Armazenamento redundante por zona (ZRS/GZRS) protege contra falhas em nível de zona dentro de uma região. Para obter mais informações, consulte Redundância do Armazenamento do Azure.

  • Não confie na geo-redundância para proteção contra ransomware: a replicação geo-redundante espelha os dados e qualquer corrupção ou exclusão maliciosa para a região pareada. Combine GRS com políticas de imutabilidade, exclusão reversível e versionamento para resistência a ransomware e adulteração. Para mais informações, veja Recursos de proteção de dados no Armazenamento do Azure.

  • Pratique o failover e o failback iniciados pelo cliente: para contas com RA-GRS ou RA-GZRS, execute um exercício de recuperação planejada para validar seu procedimento de recuperação antes de precisar dele. Para saber mais, confira Recuperação de desastre e failover da conta de armazenamento.

Para orientações de segurança específicas para cada serviço de dados do Armazenamento do Azure, veja:

Próximas Etapas