Autenticação e autorização do Barramento de Serviço

Há duas maneiras de autenticar e autorizar o acesso aos recursos do Barramento de Serviço do Azure:

  • ID do Microsoft Entra
  • Assinaturas de Acesso Compartilhado (SAS)

Este artigo fornece detalhes sobre como usar esses dois tipos de mecanismos de segurança.

ID do Microsoft Entra

A integração do Microsoft Entra com o Barramento de Serviço fornece o RBAC (controle de acesso baseado em função) aos recursos do Barramento de Serviço. Você pode usar o RBAC do Azure para conceder permissões a uma entidade de segurança, que pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada. O Microsoft Entra autentica a entidade de segurança e retorna um token OAuth 2.0. O token pode ser usado para autorizar uma solicitação para acessar um recurso do Barramento de Serviço (fila, tópico e assim por diante).

Para obter mais informações sobre a autenticação com o Microsoft Entra ID, confira os seguintes artigos:

Observação

A API REST do Barramento de Serviço dá suporte à autenticação OAuth com o Microsoft Entra ID.

Importante

A autorização de usuários ou de aplicativos que usam o token do OAuth 2.0 retornado pelo Microsoft Entra ID fornece segurança e facilidade de uso superiores em relação às SAS (assinaturas de acesso compartilhado). Com o Microsoft Entra ID, não é preciso armazenar os tokens no seu código e arriscar as vulnerabilidades de segurança potenciais. É recomendável o uso do Microsoft Entra ID com seus aplicativos do Barramento de Serviço do Azure, quando possível.

Desabilite a autenticação local ou de chave SAS de um namespace do Barramento de Serviço e permita apenas a autenticação do Microsoft Entra. Para obter instruções passo a passo, confira Desabilitar a autenticação local.

Assinatura de acesso compartilhado

A autenticação SAS permite que você conceda a um usuário o acesso aos recursos do Barramento de Serviço, com direitos específicos. A autenticação SAS no Barramento de Serviço envolve a configuração de uma chave criptográfica com direitos associados em um recurso do Barramento de Serviço. Os clientes podem obter acesso a esse recurso apresentando um token SAS que consiste em acessar o URI de recurso e assinar uma expiração com a tecla configurada.

É possível configurar chaves para SAS em um namespace do Barramento de Serviço. A chave se aplica a todas as entidades de mensagens nesse namespace. Também é possível configurar chaves em tópicos e filas do Barramento de Serviço. Para usar a SAS, você pode configurar uma regra de autorização de acesso compartilhado em um namespace, uma fila ou um tópico. Essa regra consiste nos seguintes elementos:

  • KeyName: identifica a regra.
  • PrimaryKey: uma chave de criptografia usada para assinar/validar tokens SAS.
  • SecondaryKey: uma chave de criptografia usada para assinar/validar tokens SAS.
  • Rights: representa a coleção de direitos de Escuta, Envio ou Gerenciamento concedidos.

As regras de autorização configuradas no nível de namespace podem conceder acesso a todas as entidades em um namespace para clientes com tokens assinados usando a tecla correspondente. Configure até 12 regras de autorização como essas em um namespace, uma fila ou um tópico do Barramento de Serviço. Por padrão, uma regra de autorização de acesso compartilhado com todos os direitos é configurada para cada namespace quando ele é provisionado pela primeira vez.

Para acessar uma entidade, o cliente requer um token SAS gerado usando uma determinada regra de autorização de acesso compartilhado. O token SAS é gerado usando o HMAC-SHA256 de uma cadeia de caracteres de recurso que consiste no URI de recurso ao qual o acesso é solicitado e em uma expiração com uma chave criptográfica associada à regra de autorização.

O suporte à autenticação SAS para o Barramento de Serviço está incluído no .NET SDK do Azure versão 2.0 e posterior. A SAS inclui suporte a uma regra de autorização de acesso compartilhado. Todas as APIs que aceitam uma cadeia de conexão como parâmetro incluem suporte para cadeias de conexão SAS.

Próximas etapas

Para obter mais informações sobre a autenticação com o Microsoft Entra ID, confira os seguintes artigos:

Confira os seguintes artigos para obter mais informações sobre a autenticação com SAS: