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:
- O Microsoft Entra autentica a entidade de segurança e, em seguida, retorna um token OAuth 2.0.
- 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:
- A entidade de segurança exige um token OAuth 2.0 do Microsoft Entra ID para se autenticar.
- A entidade de segurança chama a API da autenticação do SignalR para obter uma chave de acesso temporária.
- 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.
- 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
Para saber como criar um aplicativo do Azure e usar a autorização do Microsoft Entra, consulte Autorizar solicitações para recursos do Serviço do Azure SignalR com aplicativos do Microsoft Entra.
Para saber como configurar uma identidade gerenciada e usar a autorização do Microsoft Entra, consulte Autorizar solicitações para recursos do Serviço do Azure SignalR com as identidades gerenciadas do Microsoft Entra.
Para saber mais sobre as funções e atribuições de funções, confira O que é o RBAC (controle de acesso baseado em função) do Azure? .
Para saber como criar funções personalizadas, consulte Etapas para criar uma função personalizada.
Para saber como usar apenas a autenticação do Microsoft Entra, consulte Desabilitar de autenticação local.