Autorizar o acesso a dados no Armazenamento do Azure
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.
A tabela a seguir fornece informações sobre as opções de autorização com suporte para blobs:
Opção de autorização | Diretrizes | Recomendação |
---|---|---|
Microsoft Entra ID | Autorizar o acesso aos dados do Armazenamento do Microsoft Azure com o Microsoft Entra ID | A Microsoft recomenda usar o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações para recursos de blob. |
Chave Compartilhada (chave da conta de armazenamento) | Autorizar com Chave Compartilhada | A Microsoft recomenda que você não autorize a chave compartilhada em suas contas de armazenamento. |
SAS (assinatura de acesso compartilhado) | Como usar SAS (assinaturas de acesso compartilhado) | 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. |
Acesso de leitura anônimo | Visão geral: Como corrigir o acesso de leitura público anônimo aos dados de blob | A Microsoft recomenda desabilitar o acesso anônimo para todas as contas de armazenamento. |
Gerenciar usuários locais | Com suporte apenas para SFTP. Para saber mais, confira Autorizar o acesso ao Armazenamento de Blobs para um cliente SFTP | Consulte as diretrizes para obter as opções. |
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.
Para saber mais sobre o RBAC, confira O que é o RBAC (controle de acesso baseado em função) do Azure?.
Para saber mais sobre o ABAC, confira O que é o ABAC (controle de acesso baseado em atributo) do Azure?. Para saber mais sobre o status dos recursos do ABAC, consulte Status dos recursos de condição do ABAC no Armazenamento do Azure.
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.
Usuários locais do armazenamento: aplica-se a blobs com SFTP ou arquivos com SMB. Usuários Locais para Armazenamento dão suporte a permissões de nível de contêiner para autorização. Consulte Conexão para Armazenamento de Blobs do Azure usando o SFTP (Protocolo de Transferência de Arquivo SSH) para obter mais informações sobre como Usuários Locais para Armazenamento podem ser usados com o SFTP.
Proteger suas chaves de acesso
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.
Próximas etapas
- Autorize o acesso com o Microsoft Entra ID para recursos de blob, fila ou tabela.
- Autorizar com Chave Compartilhada
- Conceder acesso limitado aos recursos do Armazenamento do Azure usando assinaturas de acesso compartilhado (SAS)