Compartilhar via


Autorize o acesso com o ID do Microsoft Entra para o Serviço Azure SignalR

O Serviço SignalR do Azure dá suporte à ID do Microsoft Entra para autorizar solicitações para seus recursos. Com o Microsoft Entra ID, você pode usar o RBAC (controle de acesso baseado em função) para conceder permissões a uma entidade de segurança. Uma entidade de segurança é um grupo de usuários/recursos, um aplicativo ou uma entidade de serviço, como identidades atribuídas pelo sistema e identidades atribuídas pelo usuário.

O Microsoft Entra ID autentica a entidade de segurança e retorna um token OAuth 2.0. O token é usado para autorizar uma solicitação no recurso do Serviço SignalR do Azure.

Autorizar solicitações no Serviço Azure SignalR usando a ID do Microsoft Entra fornece segurança superior e facilidade de uso em comparação com a autorização de chave de acesso. É altamente recomendável que você use o Microsoft Entra ID para autorizar sempre que possível, pois ele garante o acesso com os privilégios mínimos necessários.

Importante

Desabilitar a autenticação local pode ter as seguintes consequências:

  • O conjunto atual de chaves de acesso é excluído permanentemente.
  • Os tokens assinados com o conjunto atual de chaves de acesso ficam indisponíveis.

Visão geral do Microsoft Entra ID

Quando uma entidade de segurança tenta acessar um recurso do Serviço SignalR do Azure, a solicitação deve ser autorizada. Usar o Microsoft Entra ID para obter acesso a um recurso requer duas etapas:

  1. O Microsoft Entra ID autentica a entidade de segurança e retorna um token OAuth 2.0.
  2. O token é passado como parte de uma solicitação para o recurso do Serviço SignalR do Azure para autorizar a solicitação.

Autenticação do lado do cliente com o Microsoft Entra ID

Quando você usa uma chave de acesso, a chave é compartilhada entre seu servidor de aplicativo (ou aplicativo de função) e o recurso do Serviço SignalR do Azure. O Serviço Azure SignalR autentica a solicitação de conexão do cliente usando a chave compartilhada.

Quando você usa o Microsoft Entra ID, não há nenhuma chave compartilhada. Em vez disso, o Serviço SignalR do Azure usa uma chave de acesso temporária para assinar tokens usados em conexões de cliente. O fluxo de trabalho contém quatro etapas:

  1. A entidade de segurança requer um token OAuth 2.0 da ID do Microsoft Entra para se autenticar.
  2. A entidade de segurança chama a API de autenticação do SignalR para obter uma chave de acesso temporária.
  3. A entidade de segurança assina um token de cliente com a chave de acesso temporária para conexões de cliente durante a negociação.
  4. O cliente usa o token do cliente para se conectar aos recursos do Serviço SignalR do Azure.

A chave de acesso temporária expira em 90 minutos. Recomendamos que você compre um novo e gire o antigo uma vez por hora.

O fluxo de trabalho é criado no SDK do Serviço SignalR do Azure para servidores de aplicativos.

Atribuir funções do Azure para direitos de acesso

A ID do Microsoft Entra autoriza direitos de acesso a recursos protegidos por meio do RBAC do Azure. O Serviço SignalR do Azure define um conjunto de funções internas do Azure que abrangem conjuntos comuns de permissões para acessar recursos do Serviço SignalR do Azure. Você também pode definir funções personalizadas para acesso aos recursos do Serviço SignalR do Azure.

Escopo do recurso

Talvez seja necessário determinar o escopo de acesso que a entidade de segurança deve ter antes de atribuir qualquer função RBAC do Azure a uma entidade de segurança. Recomendamos que você conceda apenas o escopo mais restrito possível. As funções RBAC do Azure definidas em um escopo mais amplo são herdadas pelos recursos abaixo delas.

Você pode definir o escopo do acesso aos recursos do Serviço SignalR do Azure nos níveis a seguir, começando com o escopo mais restrito.

Escopo Descrição
Recurso individual Aplica-se apenas ao recurso de destino.
Grupo de recursos Aplica-se a todos os recursos em um grupo de recursos.
Subscription Aplica-se a todos os recursos em uma assinatura.
Grupo de gerenciamento Aplica-se a todos os recursos nas assinaturas incluídas em um grupo de gerenciamento.

Funções internas do Azure para recursos do Serviço SignalR do Azure

Função Descrição Caso de uso
Servidor do Aplicativo SignalR Acesso à API de criação de conexão WebSocket e APIs de autenticação. Mais comumente usado para um servidor de aplicativos.
Proprietário do serviço do SignalR Acesso total a todas as APIs do plano de dados, incluindo APIs REST, API de criação de conexão WebSocket e APIs de autenticação. Use o modo sem servidor para autorização com a ID do Microsoft Entra, pois ele requer permissões de API REST e permissões de API de autenticação.
Proprietário da API REST do SignalR Acesso completo às APIs REST do plano de dados. Geralmente usado para escrever uma ferramenta que gerencia conexões e grupos, mas não faz conexões ou chama APIs de autenticação.
Leitor da API REST do SignalR Acesso somente leitura às APIs REST do plano de dados. Comumente usado para escrever uma ferramenta de monitoramento que chama apenas APIs REST somente leitura do plano de dados do Plano de Dados do Azure SignalR.

Próximas etapas