Autenticação e autorização do Azure Relay

Há duas maneiras de autenticar e autorizar o acesso aos recursos do Azure Relay: ID do Microsoft Entra e Assinaturas de Acesso Compartilhado (SAS). Este artigo fornece detalhes sobre como usar esses dois tipos de mecanismos de segurança.

Microsoft Entra ID

A integração do Microsoft Entra para recursos do Azure Relay fornece controle de acesso baseado em função do Azure (Azure RBAC) para controle refinado sobre o acesso de um cliente aos recursos. Pode utilizar o RBAC do Azure para conceder permissões a um principal de segurança, que pode ser um utilizador, grupo ou principal de serviço de aplicação. A entidade de segurança é autenticada pelo Microsoft Entra ID para retornar um token OAuth 2.0. O token pode ser usado para autorizar uma solicitação para acessar um recurso do Azure Relay.

Para obter mais informações sobre como autenticar com o Microsoft Entra ID, consulte os seguintes artigos:

Importante

Autorizar usuários ou aplicativos usando o token OAuth 2.0 retornado pelo Microsoft Entra ID oferece segurança superior e facilidade de uso em relação às assinaturas de acesso compartilhado (SAS). Com o Microsoft Entra ID, não há necessidade de armazenar tokens em seu código e arriscar possíveis vulnerabilidades de segurança. Recomendamos que você use o Microsoft Entra ID com seus aplicativos do Azure Relay quando possível.

Funções incorporadas

Para o Azure Relay, o gerenciamento de namespaces e todos os recursos relacionados por meio do portal do Azure e da API de gerenciamento de recursos do Azure já está protegido usando o modelo RBAC do Azure. O Azure fornece as seguintes funções internas do Azure para autorizar o acesso a um namespace de Retransmissão:

Função Descrição
Proprietário do Azure Relay Use essa função para conceder acesso total aos recursos do Azure Relay.
Azure Relay Listener Use essa função para conceder acesso de escuta e leitura de entidade aos recursos do Azure Relay.
Azure Relay Sender Use essa função para conceder acesso de envio e leitura de entidade aos recursos do Azure Relay.

Assinatura de Acesso Partilhado

Os aplicativos podem se autenticar no Azure Relay usando a autenticação SAS (Assinatura de Acesso Compartilhado). A autenticação SAS permite que os aplicativos se autentiquem no serviço de Retransmissão do Azure usando uma chave de acesso configurada no namespace de Retransmissão. Em seguida, você pode usar essa chave para gerar um token de Assinatura de Acesso Compartilhado que os clientes podem usar para autenticar no serviço de retransmissão.

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

Você pode configurar chaves para SAS em um namespace de retransmissão. Ao contrário das mensagens do Service Bus, as Conexões Híbridas de Retransmissão suportam remetentes não autorizados ou anônimos. Você pode habilitar o acesso anônimo para a entidade ao criá-la, conforme mostrado na captura de tela a seguir do portal:

A dialog box titled

Para usar o SAS, você pode configurar um objeto SharedAccessAuthorizationRule em um namespace Relay que consiste nas seguintes propriedades:

  • KeyName que identifica a regra.
  • PrimaryKey é uma chave criptográfica usada para assinar/validar tokens SAS.
  • SecondaryKey é uma chave criptográfica usada para assinar/validar tokens SAS.
  • Direitos que representam a coleção de direitos de Ouvir, Enviar ou Gerenciar concedidos.

As regras de autorização configuradas no nível do namespace podem conceder acesso a todas as conexões de retransmissão em um namespace para clientes com tokens assinados usando a chave correspondente. Até 12 dessas regras de autorização podem ser configuradas em um namespace Relay. Por padrão, uma SharedAccessAuthorizationRule com todos os direitos é configurada para cada namespace quando é provisionado pela primeira vez.

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

O suporte à autenticação SAS para o Azure Relay está incluído nas versões 2.0 e posteriores do SDK do Azure .NET. O SAS inclui suporte para uma SharedAccessAuthorizationRule. Todas as APIs que aceitam uma cadeia de conexão como parâmetro incluem suporte para cadeias de conexão SAS.

Amostras

Próximos passos