Identidades gerenciadas para o Serviço Azure SignalR
No Serviço Azure SignalR, você pode usar uma identidade gerenciada do Microsoft Entra ID para:
- Obtenha tokens de acesso.
- Acesse segredos no Cofre da Chave do Azure.
O serviço suporta apenas uma identidade gerenciada. Você pode criar uma identidade atribuída ao sistema ou ao usuário. Uma identidade atribuída ao sistema é dedicada à sua instância do Serviço Azure SignalR e é excluída quando você exclui a instância. Uma identidade atribuída pelo usuário é gerenciada independentemente do recurso do Serviço Azure SignalR.
Este artigo mostra como criar uma identidade gerenciada para o Serviço SignalR do Azure e como usá-la em cenários sem servidor.
Pré-requisitos
Para usar uma identidade gerenciada, você deve ter os seguintes itens:
- Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Um recurso do Serviço Azure SignalR.
- Recursos upstream que você deseja acessar, como um recurso do Azure Key Vault.
- Um aplicativo do Azure Functions (aplicativo de função).
Adicionar uma identidade gerenciada ao Serviço Azure SignalR
Você pode adicionar uma identidade gerenciada ao Serviço SignalR do Azure no portal do Azure ou na CLI do Azure. Este artigo mostra como adicionar uma identidade gerenciada ao Serviço Azure SignalR no portal do Azure.
Adicionar uma identidade atribuída ao sistema
Para adicionar uma identidade gerenciada atribuída pelo sistema à sua instância do Serviço Azure SignalR:
No portal do Azure, navegue até sua instância do Serviço Azure SignalR.
Selecione a Identidade.
Na guia Sistema atribuído, alterne Status para Ativado.
Selecione Guardar.
Selecione Sim para confirmar a alteração.
Adicionar uma identidade atribuída pelo usuário
Para adicionar uma identidade atribuída pelo usuário à sua instância do Serviço Azure SignalR, você precisa criar a identidade e, em seguida, adicioná-la ao serviço.
Crie um recurso de identidade gerenciado atribuído pelo usuário de acordo com estas instruções.
No portal do Azure, navegue até sua instância do Serviço Azure SignalR.
Selecione a Identidade.
Na guia Usuário atribuído, selecione Adicionar.
No menu suspenso Identidades gerenciadas atribuídas ao usuário, selecione a identidade.
Selecione Adicionar.
Usar uma identidade gerenciada em cenários sem servidor
O Serviço Azure SignalR é um serviço totalmente gerenciado. Ele usa uma identidade gerenciada para obter um token de acesso. Em cenários sem servidor, o serviço adiciona o token de acesso ao Authorization
cabeçalho em uma solicitação upstream.
Habilite a autenticação de identidade gerenciada em configurações upstream
Depois de adicionar uma identidade atribuída pelo sistema ou pelo usuário à sua instância do Serviço Azure SignalR, você pode habilitar a autenticação de identidade gerenciada nas configurações de ponto de extremidade upstream:
No portal do Azure, navegue até sua instância do Serviço Azure SignalR.
Selecione Settings (Definições) no menu.
Selecione o modo de serviço sem servidor .
Na caixa de texto Adicionar um padrão de URL upstream, insira o padrão de URL do ponto de extremidade upstream. Consulte Configurações de modelo de URL.
Selecione Adicionar uma configuração upstream e, em seguida, selecione qualquer asterisco.
Em Configurações Upstream, defina as configurações do ponto de extremidade upstream.
Nas configurações de autenticação de identidade gerenciada, para Audiência no token emitido, você pode especificar o recurso de destino. O recurso se tornará uma
aud
declaração no token de acesso obtido, que pode ser usado como parte da validação em seus pontos de extremidade upstream. O recurso pode estar em um dos seguintes formatos:- ID do aplicativo (cliente) da entidade de serviço.
- URI da ID do aplicativo da entidade de serviço.
Importante
Usando o recurso vazio, adquira um token de destino para o Microsoft Graph. Como hoje, o Microsoft Graph habilita a criptografia de token, portanto, não está disponível para o aplicativo autenticar o token diferente do Microsoft Graph. Na prática comum, você deve sempre criar uma entidade de serviço para representar seu destino upstream. E defina a ID do Aplicativo ou o URI da ID do Aplicativo da entidade de serviço que você criou.
Autenticação em um aplicativo de função
Você pode facilmente definir a validação de acesso para um aplicativo de função sem alterações de código usando o portal do Azure:
No portal do Azure, vá para o aplicativo de função.
Selecione Autenticação a partir do menu.
Selecione Adicionar provedor de identidade.
Na guia Noções básicas, na lista suspensa Provedor de identidade, selecione Microsoft.
Em Ação a ser executada quando a solicitação não for autenticada, selecione Entrar com a ID do Microsoft Entra.
A opção para criar um novo registo é selecionada por predefinição. Pode alterar o nome do registo. Para obter mais informações sobre como habilitar um provedor do Microsoft Entra, consulte Configurar seu serviço de aplicativo ou aplicativo Azure Functions para usar uma entrada de ID do Microsoft Entra.
Vá para o Serviço Azure SignalR e siga as etapas para adicionar uma identidade atribuída pelo sistema ou pelo usuário.
No Serviço Azure SignalR, vá para Configurações Upstream e selecione Usar Identidade Gerenciada e Selecionar de Aplicativos existentes. Selecione o aplicativo que você criou anteriormente.
Depois de definir essas configurações, o aplicativo de função rejeitará solicitações sem um token de acesso no cabeçalho.
Validar tokens de acesso
Se você não estiver usando WebApp ou Azure Function, também poderá validar o token.
O token no cabeçalho é um token de acesso à Authorization
plataforma de identidade da Microsoft.
Para validar tokens de acesso, seu aplicativo também deve validar o público e os tokens de assinatura. Esses tokens precisam ser validados em relação aos valores no documento de descoberta OpenID. Para obter um exemplo, consulte a versão independente do locatário do documento.
O middleware Microsoft Entra tem recursos internos para validar tokens de acesso. Você pode navegar pelos exemplos de código da plataforma de identidade da Microsoft para encontrar um no idioma de sua escolha.
Bibliotecas e exemplos de código que mostram como lidar com a validação de token estão disponíveis. Várias bibliotecas de parceiros de código aberto também estão disponíveis para validação JSON Web Token (JWT). Há pelo menos uma opção para quase todas as plataformas e idiomas. Para obter mais informações sobre bibliotecas de autenticação do Microsoft Entra e exemplos de código, consulte Bibliotecas de autenticação da plataforma de identidade da Microsoft.
Usar uma identidade gerenciada para uma referência do Cofre da Chave
O Serviço Azure SignalR pode acessar o Cofre da Chave para obter segredos usando a identidade gerenciada.
- Adicione uma identidade atribuída pelo sistema ou pelo usuário à sua instância do Serviço Azure SignalR.
- Conceda permissão de leitura secreta para a identidade gerenciada nas políticas de acesso no Cofre de Chaves. Consulte Atribuir uma política de acesso ao Cofre da Chave usando o portal do Azure.
Atualmente, você pode usar esse recurso para fazer referência a um segredo no padrão de URL upstream.