Compartilhar via


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

O Serviço do Azure SignalR dá suporte ao Microsoft Entra ID para autorizar solicitações aos seus recursos. Com o Microsoft Entra ID, é possível usar o RBAC (controle de acesso baseado em função) para conceder permissões a uma entidade de segurança. A entidade de segurança é um usuário/grupo de 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 é então usado para autorizar uma solicitação no Serviço do Azure SignalR.

Autorizar solicitações no Serviço Azure SignalR usando o Microsoft Entra ID fornece segurança superior e facilidade de uso em comparação com a autorização da 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 do Azure SignalR, a solicitação deve ser autorizada. Usar o Microsoft Entra ID para obter acesso a um recurso requer duas etapas:

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

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

Ao usar a chave de acesso, a chave é compartilhada entre o seu servidor de aplicativo (ou aplicativo de funções) e o recurso do Serviço do Azure SignalR. O Serviço do Azure SignalR autentica a solicitação de conexão do cliente usando a chave compartilhada.

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

  1. A entidade de segurança exige um token OAuth 2.0 do Microsoft Entra ID para se autenticar.
  2. A entidade de segurança chama a API da 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 de Serviço do SignalR.

A chave de acesso temporária expira em 90 minutos. É recomendado obter uma nova e girar a velha uma vez por hora.

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

Atribuir funções do Azure para direitos de acesso

O Microsoft Entra ID autoriza direitos de acesso a recursos protegidos por meio do RBAC do Azure. O Serviço do Azure SignalR define um conjunto de funções internas do Azure que abrangem conjuntos comuns de permissões para acessar recursos do Serviço do Azure SignalR. Também é possível definir funções personalizadas para acessar recursos do Serviço do Azure SignalR.

Escopo do recurso

Você poderá ter que determinar o escopo do acesso que essa entidade de segurança deve ter antes de atribuir qualquer função RBAC do Azure a uma entidade de segurança. É recomendado 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ê poderá fazer o escopo do acesso aos recursos do Serviço do Azure SignalR nos seguintes níveis, começando com o escopo mais estreito.

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.
Assinatura 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 os recursos do Serviço do Azure SignalR

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 para um servidor de aplicativos.
Proprietário do serviço do SignalR Acesso completo a todas as APIs do plano de dados, incluindo as APIs REST, a API de criação de conexão WebSocket e as APIs de autenticação. Use para o Modo sem servidor para a autorização com o Microsoft Entra ID, 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. Frequentemente usado para gravar 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. Normalmente usado para gravar uma ferramenta de monitoramento que chama apenas as APIs REST somente leitura do plano de dados do Serviço do Azure SignalR.

Próximas etapas