Autorizar o acesso a dados no Armazenamento do Azure
Artigo
Sempre que você acessar os dados na conta de armazenamento, seu aplicativo cliente fará uma solicitação sobre HTTP/HTTPS para o Armazenamento do Azure. Por padrão, todos os recursos no Armazenamento do Azure são protegidos e cada solicitação para um recurso seguro deve ser autorizada. A autorização garante que o aplicativo cliente tenha as permissões apropriadas para acessar um recurso específico na sua conta de armazenamento.
Importante
Para otimizar a segurança, a Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações relativas a dados de blobs, filas de espera e tabelas sempre que possível. A autorização com o Microsoft Entra ID e identidades gerenciadas oferece ima segurança e facilidade de uso de qualidade superior à da autorização por Chave Compartilhada. Para saber mais sobre identidades gerenciadas, confira O que são identidades gerenciadas para recursos do Azure. Para obter um exemplo de como habilitar e usar uma identidade gerenciada para um aplicativo .NET, confira Como autenticar aplicativos hospedados no Azure em recursos do Azure com o .NET.
Para recursos hospedados fora do Azure, como aplicativos locais, você pode usar identidades gerenciadas por meio do Azure Arc. Por exemplo, os aplicativos sendo executados em servidores habilitados para Azure Arc podem usar identidades gerenciadas para se conectar aos serviços do Azure. Para saber mais, confira Autenticar-se nos recursos do Azure com servidores habilitados para Azure Arc.
Para os cenários em que as assinaturas de acesso compartilhado (SAS) são utilizadas, a Microsoft recomenda o uso de uma SAS de delegação de usuário. Uma SAS de delegação de usuário é protegida por credenciais do Microsoft Entra em vez da chave da conta. Para saber mais sobre assinaturas de acesso compartilhado, confira Conceder acesso limitado a dados com assinaturas de acesso compartilhado. Para obter um exemplo de como criar e usar um SAS de delegação de usuário com o .NET, consulte Criar um SAS de delegação de usuário para um blob com o .NET.
Autorização para operações de dados
A seção a seguir descreve o suporte à autorização e as recomendações para cada serviço do Armazenamento do Azure.
Quando a autorização de SAS é necessária, a Microsoft recomenda usar a SAS de delegação de usuário para acesso delegado limitado aos recursos de blob. A autorização SAS é compatível com o Armazenamento de Blobs e o Data Lake Storage e pode ser usada para chamadas para pontos de extremidade blob e pontos de extremidade dfs.
A Microsoft não recomenda o uso de tokens SAS protegidos pela chave de conta.
A seção a seguir descreve brevemente as opções de autorização para o Armazenamento do Azure:
Autorização de chave compartilhada: aplica-se a blobs, arquivos, filas e tabelas. Um cliente usando a Chave Compartilhada passa um cabeçalho com cada solicitação assinada usando a chave de acesso da conta de armazenamento. Para obter mais informações, consulte Autorizar com Chave Compartilhada.
A chave de acesso da conta de armazenamento deve ser usada com cautela. Qualquer pessoa que tenha a chave de acesso pode autorizar solicitações na conta de armazenamento e efetivamente tem acesso a todos os dados. A Microsoft recomenda que você não autorize a chave compartilhada na sua conta de armazenamento. Ao não autorizar a chave compartilhada, os clientes precisam usar o Microsoft Entra ID ou um SAS de delegação de usuário para autorizar as solicitações de dados nessa conta de armazenamento. Para obter mais informações, veja Impedir a autorização de chave compartilhada para uma conta do Armazenamento do Microsoft Azure.
Assinaturas de acesso compartilhado para blobs, arquivos, filas e tabelas. SAS (assinaturas de acesso compartilhado) fornecem acesso delegado limitado a recursos em uma conta de armazenamento por meio de uma URL assinada. A URL assinada especifica as permissões concedidas ao recurso e o intervalo sobre o qual a assinatura é válida. Um SAS de serviço ou de conta é assinado com a chave de conta, enquanto o SAS de delegação de usuário é assinado com credenciais do Microsoft Entra e se aplica somente a blobs. Para saber mais, confira Usar SAS (Assinaturas de Acesso Compartilhado) para saber mais.
Integração do Microsoft Entra: aplica-se aos recursos de blob, fila e tabela. A Microsoft recomenda usar as credenciais do Microsoft Entra com identidades gerenciadas quando possível para otimização da segurança e facilidade de uso ao autorizar solicitações aos dados. Para obter mais informações sobre a integração do Microsoft Entra, confira os artigos para recursos de blob, fila ou tabela.
Você pode usar o RBAC (controle de acesso baseado em função) do Azure para gerenciar as permissões de uma entidade de segurança para os recursos de blob, fila e tabela em uma conta de armazenamento. Você também pode usar o ABAC (controle de acesso baseado em atributo) do Azure para adicionar condições às atribuições de função do Azure para recursos de blob.
Autenticação do Microsoft Entra Domain Services: aplica-se aos Arquivos do Azure. Os Arquivos do Azure dão suporte à autorização baseada em identidade por SMB (protocolo SMB) por meio do Microsoft Entra Domain Services. É possível usar o RBAC do Azure para ter controle granular do acesso de um cliente aos recursos dos Arquivos do Azure em uma conta de armazenamento. Para obter mais informações sobre a autenticação de Arquivos do Azure usando serviços de domínio, consulte Visão geral das opções de autenticação baseada em identidade dos Arquivos do Azure para acesso SMB.
Autenticação do Active Directory Domain Services local (AD DS ou AD DS local): aplica-se aos Arquivos do Azure. O Arquivos do Azure oferece suporte à autorização baseada em identidade com o protocolo SMB por meio do AD DS. Seu ambiente do AD DS pode ser hospedado em computadores locais ou em VMs do Azure. O acesso do SMB ao Arquivos tem suporte usando as credenciais do AD DS por meio de computadores ingressados no domínio, tanto no local quanto no Azure. É possível usar uma combinação de RBAC do Azure para controle de acesso de nível de compartilhamento e DACLs NTFS para a aplicação da permissão no nível de diretório/arquivo. Para saber mais sobre a autenticação nos Arquivos do Azure com serviços de domínio, confira a visão geral.
Acesso de leitura anônimo: aplica-se aos recursos de blob. Essa opção não é recomendada. Quando o acesso anônimo for configurado, os clientes poderão ler os dados blob sem autorização. É recomendável desabilitar o acesso anônimo para todas as contas de armazenamento. Para obter mais informações, consulte Visão geral: corrigir o acesso de leitura anônimo para dados de blob.
As chaves de acesso à conta de armazenamento fornecem acesso total aos dados da conta de armazenamento e a capacidade de gerar tokens SAS. Sempre tenha cuidado para proteger as suas chaves de acesso. Utilize o Azure Key Vault para gerenciar e girar suas chaves com segurança. O acesso à chave compartilhada concede a um usuário acesso total aos dados de uma conta de armazenamento. O acesso a chaves compartilhadas deve ser cuidadosamente limitado e monitorado. Use tokens de SAS de delegação de usuário com escopo de acesso limitado nos cenários em que uma autorização baseada no Microsoft Entra ID não pode ser usada. Evite fazer hard-coding das chaves de acesso ou salvá-las em qualquer lugar como texto simples que seja acessível a outras pessoas. Gire suas chaves se achar que elas foram comprometidas.
Importante
Para impedir que os usuários acessem dados em sua conta de armazenamento com a Chave Compartilhada, você pode cancelar a autorização da Chave Compartilhada para a conta de armazenamento. O acesso granular a dados com privilégios mínimos necessários é recomendado como uma prática recomendada de segurança. Uma autorização baseada no Microsoft Entra ID usando identidades gerenciadas deve ser usada para os cenários compatíveis com OAuth. O Kerberos ou o SMTP deve ser usado para Arquivos do Azure via SMB. Para Arquivos do Azure via REST, podem ser usados os tokens SAS. O acesso de chave compartilhada deve ser desabilitado se não for necessário para impedir seu uso inadvertido. Para obter mais informações, veja Impedir a autorização de chave compartilhada para uma conta do Armazenamento do Microsoft Azure.
Para proteger uma conta de Armazenamento do Microsoft Azure com as políticas de Acesso Condicional do Microsoft Entra, você não deve permitir a autorização de Chave Compartilhada para a conta de armazenamento.
Se você desabilitou o acesso à chave compartilhada e está vendo a autorização da Chave Compartilhada relatada nos logs de diagnóstico, isso indica que o acesso confiável está sendo utilizado para acessar o armazenamento. Para obter mais detalhes, consulte Acesso confiável para recursos registrados em seu locatário do Microsoft Entra.
Saiba como o Armazenamento do Azure fornece uma segurança multicamada para proteger seus dados com chaves de acesso, redes seguras e monitoramento com a Proteção Avançada contra Ameaças.
Demonstrar os recursos do Microsoft Entra ID para modernizar as soluções de identidade, implementar soluções híbridas e implementar a governança de identidade.