Autorizar o acesso aos dados no Armazenamento do Microsoft Azure

Cada vez que você acessa dados em sua conta de armazenamento, seu aplicativo cliente faz uma solicitação por HTTP/HTTPS para o Armazenamento do Azure. Por padrão, todos os recursos no Armazenamento do Azure são protegidos e todas as solicitações para um recurso seguro devem ser autorizadas. A autorização garante que o aplicativo cliente tenha as permissões apropriadas para acessar um recurso específico em sua conta de armazenamento.

Importante

Para uma segurança ideal, a Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações contra dados de blob, fila e tabela, sempre que possível. A autorização com ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave compartilhada. Para saber mais sobre identidades gerenciadas, consulte 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, consulte Autenticando aplicativos hospedados pelo Azure em recursos do Azure com .NET.

Para recursos hospedados fora do Azure, como aplicativos locais, você pode usar identidades gerenciadas por meio do Azure Arc. Por exemplo, os aplicativos executados em servidores habilitados para Azure Arc podem usar identidades gerenciadas para se conectar aos serviços do Azure. Para saber mais, consulte Autenticar em recursos do Azure com servidores habilitados para Azure Arc.

Para cenários em que as assinaturas de acesso compartilhado (SAS) são usadas, a Microsoft recomenda o uso de uma SAS de delegação de usuário. Uma SAS de delegação de usuário é protegida com credenciais do Microsoft Entra em vez da chave da conta. Para saber mais sobre assinaturas de acesso compartilhado, consulte Conceder acesso limitado a dados com assinaturas de acesso compartilhado. Para obter um exemplo de como criar e usar uma SAS de delegação de usuário com .NET, consulte Criar uma SAS de delegação de usuário para um blob com .NET.

Autorização para operações de dados

A seção a seguir descreve o suporte de autorização e as recomendações para cada serviço de Armazenamento do Azure.

A tabela a seguir fornece informações sobre opções de autorização suportadas para blobs:

Opção de autorização Orientação Recomendação
Microsoft Entra ID Autorizar o acesso aos dados do Armazenamento do Azure com o Microsoft Entra ID A Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações de recursos de blob.
Chave compartilhada (chave de conta de armazenamento) Autorizar com a Chave Partilhada A Microsoft recomenda que você não permita a autorização de Chave Compartilhada para suas contas de armazenamento.
Assinatura de acesso partilhado (SAS) Utilizar assinaturas de acesso partilhado (SAS) Quando a autorização SAS é necessária, a Microsoft recomenda o uso de SAS de delegação de usuário para acesso delegado limitado a recursos de blob.
Acesso de leitura anónimo Visão geral: Corrigindo o acesso de leitura anônimo para dados de blob A Microsoft recomenda que desative o acesso anónimo para todas as suas contas de armazenamento.
Usuários locais de armazenamento Suportado apenas para SFTP. Para saber mais, consulte Autorizar o acesso ao armazenamento de Blob para um cliente SFTP Consulte as orientações para obter 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 cuidado. Qualquer pessoa que tenha a chave de acesso é capaz de autorizar solicitações contra a conta de armazenamento e efetivamente tem acesso a todos os dados. A Microsoft recomenda que você não permita a autorização de Chave Compartilhada para sua conta de armazenamento. Quando a autorização de Chave Compartilhada não é permitida, os clientes devem usar o ID do Microsoft Entra ou uma SAS de delegação de usuário para autorizar solicitações de dados nessa conta de armazenamento. Para obter mais informações, consulte Impedir autorização de chave compartilhada para uma conta de armazenamento do Azure.

  • Assinaturas de acesso compartilhado para blobs, arquivos, filas e tabelas. As assinaturas de acesso compartilhado (SAS) 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 durante o qual a assinatura é válida. Uma SAS de serviço ou SAS de conta é assinada com a chave de conta, enquanto a SAS de delegação de usuário é assinada com credenciais do Microsoft Entra e se aplica apenas a blobs. Para obter mais informações, consulte Usando assinaturas de acesso compartilhado (SAS).

  • Integração com o Microsoft Entra: aplica-se a recursos de blob, fila e tabela. A Microsoft recomenda o uso de credenciais do Microsoft Entra com identidades gerenciadas para autorizar solicitações de dados quando possível para segurança e facilidade de uso ideais. Para obter mais informações sobre a integração do Microsoft Entra, consulte os artigos sobre recursos de blob, fila ou tabela.

    Você pode usar o controle de acesso baseado em função do Azure (Azure RBAC) para gerenciar as permissões de uma entidade de segurança para blob, fila e recursos de tabela em uma conta de armazenamento. Você também pode usar o controle de acesso baseado em atributos (ABAC) do Azure para adicionar condições às atribuições de função do Azure para recursos de blob.

    Para obter mais informações sobre RBAC, consulte O que é o controle de acesso baseado em função do Azure (Azure RBAC)?.

    Para obter mais informações sobre o ABAC, consulte O que é o controle de acesso baseado em atributos do Azure (Azure ABAC)?. 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 dos Serviços de Domínio Microsoft Entra: Aplica-se aos Arquivos do Azure. O Azure Files dá suporte à autorização baseada em identidade sobre o Server Message Block (SMB) por meio dos Serviços de Domínio Microsoft Entra. Você pode usar o RBAC do Azure para controle granular sobre o acesso de um cliente aos recursos do Azure Files 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 dos Serviços de Domínio Ative Directory (AD DS ou AD DS local): aplica-se aos Arquivos do Azure. Os Arquivos do Azure dão suporte à autorização baseada em identidade sobre SMB por meio do AD DS. Seu ambiente AD DS pode ser hospedado em máquinas locais ou em VMs do Azure. O acesso SMB a Arquivos é suportado usando credenciais do AD DS de máquinas ingressadas no domínio, no local ou no Azure. Você pode usar uma combinação de RBAC do Azure para controle de acesso no nível de compartilhamento e DACLs NTFS para imposição de permissão no nível de diretório/arquivo. Para obter mais informações sobre a autenticação de Arquivos do Azure usando serviços de domínio, consulte a visão geral.

  • Acesso de leitura anônimo: aplica-se a recursos de blob. Esta opção não é recomendada. Quando o acesso anônimo é configurado, os clientes podem ler dados de blob sem autorização. Recomendamos que desative o acesso anónimo para todas as suas contas de armazenamento. Para obter mais informações, consulte Visão geral: corrigindo o acesso de leitura anônimo para dados de blob.

  • Usuários locais de armazenamento: Aplica-se a blobs com SFTP ou arquivos com SMB. Os Usuários Locais de Armazenamento oferecem suporte a permissões de nível de contêiner para autorização. Consulte Conectar-se ao Armazenamento de Blobs do Azure usando o Protocolo de Transferência de Arquivos SSH (SFTP) para obter mais informações sobre como os Usuários Locais de Armazenamento podem ser usados com o SFTP.

Proteja as suas chaves de acesso

As chaves de acesso da conta de armazenamento fornecem acesso total aos dados da conta de armazenamento e a capacidade de gerar tokens SAS. Tenha sempre o cuidado de proteger as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança. O acesso à chave compartilhada concede ao usuário acesso total aos dados de uma conta de armazenamento. O acesso às chaves partilhadas deve ser cuidadosamente limitado e monitorizado. Use tokens SAS de delegação de usuário com escopo limitado de acesso em cenários em que a autorização baseada em ID do Microsoft Entra não pode ser usada. Evite codificar chaves de acesso ou salvá-las em qualquer lugar em texto simples acessível a outras pessoas. Rode as chaves se acreditar que podem ter sido comprometidas.

Importante

Para impedir que os usuários acessem dados em sua conta de armazenamento com Chave Compartilhada, você pode não permitir a autorização de Chave Compartilhada para a conta de armazenamento. O acesso granular aos dados com o mínimo de privilégios necessários é recomendado como uma prática recomendada de segurança. A autorização baseada em ID do Microsoft Entra usando identidades gerenciadas deve ser usada para cenários que oferecem suporte a OAuth. Kerberos ou SMTP devem ser usados para Arquivos do Azure sobre SMB. Para Arquivos do Azure sobre REST, os tokens SAS podem ser usados. O acesso à chave partilhada deve ser desativado se não for necessário para impedir a sua utilização inadvertida. Para obter mais informações, consulte Impedir autorização de chave compartilhada para uma conta de armazenamento do Azure.

Para proteger uma conta de Armazenamento do Azure com políticas de Acesso Condicional do Microsoft Entra, você deve não 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 de chave compartilhada relatada nos logs de diagnóstico, isso indica que o acesso confiável está sendo usado para acessar o armazenamento. Para obter mais detalhes, consulte Acesso confiável para recursos registrados em seu locatário do Microsoft Entra.

Próximos passos