Autorize o acesso a tabelas usando o Microsoft Entra ID

O Armazenamento do Azure dá suporte ao uso do Microsoft Entra ID para autorizar solicitações aos dados da tabela. Com o Microsoft Entra ID, você pode usar o Azure RBAC (controle de acesso baseado em função do Azure) para conceder permissões a uma entidade de segurança, que pode ser um usuário, grupo ou entidade de serviço de aplicativo. A entidade de segurança é autenticada pelo Microsoft Entra ID para retornar um token OAuth 2.0. Em seguida, o token pode ser usado para autorizar uma solicitação no serviço Tabela.

A autorização de solicitações no Armazenamento do Azure com o Microsoft Entra ID fornece segurança superior e facilidade de uso em relação a autenticação de Chave Compartilhada. A Microsoft recomenda usar a autorização do Microsoft Entra com aplicativos de tabela quando possível para garantir o acesso com os privilégios mínimos necessários.

A autorização com o Microsoft Entra ID está disponível para todas as contas de uso geral em todas as regiões públicas e nuvens nacionais. Somente as contas de armazenamento criadas com o Modelo de implantação do Azure Resource Manager são compatíveis com a autorização do Microsoft Entra.

Visão geral do Microsoft Entra ID para tabelas

Quando uma entidade de segurança (um usuário, grupo ou aplicativo) tenta acessar o recurso de tabela, a solicitação deve ser autorizada. Com o Microsoft Entra ID, o acesso a um recurso é um processo de duas etapas. Primeiro, a identidade da entidade de segurança é autenticada e um token OAuth 2.0 é retornado. Em seguida, o token é passado como parte de uma solicitação para o serviço Tabela e usado pelo serviço para autorizar o acesso ao recurso especificado.

A etapa de autenticação requer que uma solicitação do aplicativo um token de acesso OAuth 2.0 no runtime. Se um aplicativo estiver em execução em uma entidade do Azure, como uma VM do Azure, um conjunto de dimensionamento de máquinas virtuais ou um aplicativo do Azure Functions, ele poderá usar uma identidade gerenciada para acessar tabelas.

A etapa de autorização requer que uma ou mais funções do Azure sejam atribuídas à entidade de segurança. O Armazenamento do Azure fornece funções do Azure que abrangem conjuntos comuns de permissões para dados de tabela. As funções atribuídas a uma entidade de segurança determinam as permissões de acesso da entidade. Para saber mais sobre a atribuição de funções do Azure para acesso a tabelas, confira Atribuir uma função do Azure para acessar dados de tabela.

A tabela a seguir aponta informações adicionais para autorizar o acesso a dados em vários cenários:

Idioma .NET Java JavaScript Python Go
Visão geral da autenticação com o Microsoft Entra ID Como autenticar aplicativos .NET com os serviços do Azure Autenticação do Azure com Java e Identidade do Azure Autenticar aplicativos JavaScript para o Azure usando o SDK do Azure Autenticar aplicativos Python para o Azure usando o SDK do Azure
Autenticação usando entidades de serviço de desenvolvedor Autenticar aplicativos .NET para serviços do Azure durante o desenvolvimento local usando entidades de serviço Autenticação do Azure com entidade de serviço Autenticar aplicativos JS para serviços do Azure com entidade de serviço Autenticar aplicativos Python para serviços do Azure durante o desenvolvimento local usando entidades de serviço Autenticação do SDK do Azure para linguagem Go com uma entidade de serviço
Autenticar usando contas de desenvolvedor ou de usuário Autenticar aplicativos .NET nos serviços do Azure durante o desenvolvimento local usando contas de desenvolvedor Autenticação do Azure com credenciais de usuário Autenticar aplicativos JS para serviços do Azure com contas de desenvolvedor Autenticar aplicativos Python para serviços do Azure durante o desenvolvimento local usando contas de desenvolvedor Autenticação do Azure com o SDK do Azure para Go
Autenticação de aplicativos hospedados no Azure Autenticando aplicativos hospedados no Azure para recursos do Azure com o SDK do Azure para .NET Autenticar aplicativos Java hospedados no Azure Autenticar aplicativos JavaScript hospedados no Azure para recursos do Azure com o SDK do Azure para JavaScript Autenticar aplicativos hospedados no Azure para recursos do Azure com o SDK do Azure para Python Autenticação com o SDK do Azure para linguagem Go usando uma identidade gerenciada
Autenticação de aplicativos locais Autenticar em recursos do Azure a partir de aplicativos .NET hospedados localmente Autenticar aplicativos JavaScript locais para recursos do Azure Autenticar recursos do Azure a partir de aplicativos Python hospedados localmente
Visão geral da biblioteca de clientes de identidade Biblioteca de clientes da Identidade do Azure para .NET Biblioteca de clientes da Identidade do Azure para Java Biblioteca de clientes da Identidade do Azure para JavaScript Biblioteca de clientes da Identidade do Azure para Python Biblioteca de clientes da Identidade do Azure para Go

Atribuir funções do Azure para direitos de acesso

O Microsoft Entra autoriza os direitos de acesso aos recursos protegidos por meio do RBAC do Azure (controle de acesso baseado em função). O Armazenamento do Microsoft Azure define um conjunto de funções internas do Azure que abrangem conjuntos comuns de permissões usados para acessar dados de tabela. Você também pode definir funções personalizadas para acesso a dados de tabela.

Quando uma função do Azure é atribuída a uma entidade de segurança do Microsoft Entra, o Azure permite que essa entidade de segurança tenha acesso a esses recursos. Uma entidade de segurança do Microsoft Entra pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.

Escopo do recurso

Antes de atribuir uma função RBAC do Azure a uma entidade de segurança, determine o escopo do acesso que essa entidade de segurança deve ter. De acordo com as melhores práticas, sempre é melhor conceder o escopo mais estreito possível. As funções RBAC do Azure definidas em um escopo mais amplo são herdadas pelos recursos abaixo delas.

Você pode fazer o escopo do acesso aos recursos de tabela do Azure nos seguintes níveis, começando com o escopo mais estreito:

  • Uma tabela individual. Nesse escopo, uma atribuição de função se aplica à tabela especificada.
  • A conta de armazenamento Nesse escopo, uma atribuição de função se aplica a todas as tabelas na conta.
  • O grupo de recursos. Nesse escopo, uma atribuição de função se aplica a todas as tabelas em todas as contas de armazenamento do grupo de recursos.
  • A assinatura. Nesse escopo, uma atribuição de função se aplica a todas as tabelas em todas as contas de armazenamento de todos os grupos de recursos da assinatura.
  • Um grupo de gerenciamento. Nesse escopo, uma atribuição de função se aplica a todas as tabelas em todas as contas de armazenamento de todos os grupos de recursos em todas as assinaturas do grupo de gerenciamento.

Para obter mais informações sobre o escopo das atribuições de função RBAC do Azure, confira Entender o escopo do RBAC do Azure.

Funções internas do Azure para tabelas

O RBAC do Azure fornece funções internas para autorizar o acesso aos dados de tabela usando o Microsoft Entra ID e o OAuth. As funções internas que fornecem permissões para tabelas no Armazenamento do Microsoft Azure incluem:

Para saber como atribuir uma função interna do Azure à uma entidade de segurança, consulte Atribuir uma função do Azure para acessar dados de tabela. Para saber como listar as funções de RBAC do Azure e suas permissões, consulte Listar definições de função do Azure.

Para obter mais informações sobre como as funções internas são definidas para o Armazenamento do Microsoft Azure, consulte Compreender as definições de função. Para obter informações sobre como criar funções personalizadas do Azure, confira Funções personalizadas do Azure.

Somente as funções explicitamente definidas para acesso a dados permitem que uma entidade de segurança acesse dados de tabela. Funções internas, como Proprietário, Colaborador e Colaborador de conta de armazenamento permitem que uma entidade de segurança gerencie uma conta de armazenamento, mas não fornecem acesso aos dados de tabela nessa conta por meio do Microsoft Entra ID. No entanto, se uma função incluir Microsoft.Storage/storageAccounts/listKeys/action, um usuário ao qual essa função é atribuída poderá acessar os dados da conta de armazenamento por meio da autorização de chave compartilhada com as chaves de acesso da conta.

Para obter informações detalhadas sobre as funções internas do Azure para o Armazenamento do Azure para os serviços de dados e o serviço de gerenciamento, consulte a seção Armazenamento em Funções internas do Azure para o RBAC do Azure. Além disso, para obter informações sobre os diferentes tipos de funções que fornecem permissões no Azure, consulte Funções de administrador de assinatura clássica, funções do Azure e funções do Microsoft Entra.

Importante

As atribuições de função do Azure podem levar até 30 minutos para serem propagadas.

Permissões de acesso para operações de dados

Para saber detalhes sobre as permissões necessárias para chamar operações específicas do serviço Tabela, confira Permissões para chamar operações de dados.

Próximas etapas