Autorizar o acesso com o Microsoft Entra ID para o Serviço Azure SignalR
O Serviço Azure SignalR dá suporte à ID do Microsoft Entra para autorizar solicitações para seus recursos. Com o Microsoft Entra ID, você pode usar o controle de acesso baseado em função (RBAC) 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 ao 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 Azure SignalR.
Autorizar solicitações contra o Serviço SignalR do Azure usando a ID do Microsoft Entra oferece 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
A desativação da 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 Azure SignalR, a solicitação deve ser autorizada. Usar o Microsoft Entra ID para obter acesso a um recurso requer duas etapas:
- Microsoft Entra ID autentica a entidade de segurança e, em seguida, retorna um token OAuth 2.0.
- O token é passado como parte de uma solicitação para o recurso do Serviço Azure SignalR para autorizar a solicitação.
Autenticação do lado do cliente com ID do Microsoft Entra
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 Azure SignalR usa uma chave de acesso temporária para assinar tokens usados em conexões de cliente. O fluxo de trabalho contém quatro etapas:
- A entidade de segurança requer um token OAuth 2.0 do Microsoft Entra ID para se autenticar.
- A entidade de segurança chama a API de 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 de cliente para se conectar aos recursos do Serviço Azure SignalR.
A chave de acesso temporária expira em 90 minutos. Recomendamos que adquira um novo e rode o antigo uma vez por hora.
O fluxo de trabalho é criado no SDK do Serviço Azure SignalR para servidores de aplicativos.
Atribuir funções do Azure para direitos de acesso
O Microsoft Entra ID autoriza direitos de acesso a recursos protegidos através do Azure RBAC. O Serviço Azure SignalR define um conjunto de funções internas do Azure que englobam conjuntos comuns de permissões para acessar recursos do Serviço SignalR do Azure. Você também pode definir funções personalizadas para acessar os recursos do Serviço SignalR do Azure.
Âmbito 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 do RBAC do Azure definidas em um escopo mais amplo são herdadas pelos recursos abaixo delas.
Você pode definir o escopo de acesso aos recursos do Serviço Azure SignalR nos seguintes níveis, começando com o escopo mais restrito.
Scope | Description |
---|---|
Recurso individual | Aplica-se apenas ao recurso de destino. |
Grupo de recursos | Aplica-se a todos os recursos de um grupo de recursos. |
Subscrição | Aplica-se a todos os recursos de uma assinatura. |
Grupo de Gestão | 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 Azure SignalR
Função | Description | Caso de utilização |
---|---|---|
Servidor de aplicativos 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 SignalR | Acesso total a todas as APIs de plano de dados, incluindo APIs REST, a API de criação de conexão WebSocket e APIs de autenticação. | Use para o modo sem servidor para autorização com o Microsoft Entra ID, porque requer permissões de API REST e permissões de API de autenticação. |
Proprietário da API REST do SignalR | Acesso total às APIs REST do plano de dados. | Muitas vezes usado para escrever uma ferramenta que gerencia conexões e grupos, mas não faz conexões ou APIs de autenticação de chamada. |
Leitor de API SignalR REST | Acesso somente leitura a APIs REST de plano de dados. | Comumente usado para escrever uma ferramenta de monitoramento que chama apenas APIs REST somente leitura do plano de dados do Serviço Azure SignalR. |
Próximos passos
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 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 Azure SignalR com identidades gerenciadas do Microsoft Entra.
Para saber mais sobre funções e atribuições de função, consulte O que é o controle de acesso baseado em função do Azure (Azure RBAC)?.
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 a autenticação local.