Identidades gerenciadas para o Serviço do Azure SignalR
No Serviço do Azure SignalR, você pode usar uma identidade gerenciada pr meio do Microsoft Entra ID para:
- Obter tokens de acesso.
- Acessar segredos do Azure Key Vault.
O serviço dá suporte a apenas uma identidade gerenciada. Você pode criar uma identidade atribuída pelo sistema ou atribuída pelo usuário. Uma identidade atribuída pelo sistema é dedicada à sua instância do Serviço do 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 do Azure SignalR.
Este artigo mostra como criar uma identidade gerenciada para o serviço do Azure SignalR e como usá-la em cenários sem servidor.
Pré-requisitos
Para usar uma identidade gerenciada, você deve ter os seguintes itens:
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Um recurso de 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ções).
Adicionar uma identidade gerenciada a Serviço do Azure SignalR
Adicione uma identidade gerenciada ao Serviço do Azure SignalR no portal do Azure ou na CLI do Azure. Este artigo mostra como adicionar uma identidade gerenciada ao Serviço do Azure SignalR no portal do Azure.
Adicionar uma identidade atribuída pelo sistema
Para adicionar uma identidade gerenciada atribuída pelo sistema à instância do Serviço do Azure SignalR:
No portal do Azure, navegue até a instância do Serviço do Azure SignalR.
Selecionar Identidade.
Na guia Sistema atribuído, alterne o Status para Ativado.
Selecione Salvar.
Selecione SIM para confirmar a alteração.
Adicionar uma identidade atribuída pelo usuário
Para adicionar uma identidade atribuída pelo usuário à instância do Serviço do Azure SignalR, você precisa criar a identidade e 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é a instância do Serviço do Azure SignalR.
Selecionar Identidade.
Na guia Usuário atribuído, selecione Adicionar.
No menu suspenso Identidades gerenciadas atribuídas pelo usuário, selecione a identidade.
Selecione Adicionar.
Usar uma identidade gerenciada em cenários sem servidor
Serviço do 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 cabeçalho Authorization
em uma solicitação upstream.
Habilitar a autenticação de identidade gerenciada em configurações upstream
Depois de adicionar uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário à instância do Serviço do Azure SignalR, você poderá habilitar a autenticação de identidade gerenciada nas configurações do ponto de extremidade upstream:
No portal do Azure, navegue até a instância do Serviço do Azure SignalR.
Selecione o menu Configurações.
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. Confira Configurações de modelo de URL.
Selecione Adicionar uma Configuração Upstream e 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, em Público-alvo no token emitido, você pode especificar o recurso de destino. O recurso se tornará uma declaração
aud
no token de acesso obtido, que pode ser usada como parte da validação nos 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
Usar um recurso vazio realmente adquire um token direcionado ao Microsoft Graph. Como hoje, o Microsoft Graph habilita a criptografia de token para que ele não esteja disponível para o aplicativo autenticar o token diferente do Microsoft Graph. Na prática comum, você sempre deve criar uma entidade de serviço para representar seu destino upstream. E defina o ID do aplicativo ou o URI do ID do aplicativo da entidade de serviço que você criou.
Autenticação em um aplicativo de funções
Defina facilmente a validação de acesso para um aplicativo de funções sem alterações de código usando o portal do Azure:
No portal do Azure, acesse o aplicativo de funções.
Selecione Autenticação no menu.
Selecione Adicionar provedor de identidade.
Na guia Básico, na lista suspensa Provedor de identidade, selecione Microsoft.
Em Ação a ser executada quando a solicitação não for autenticada, selecione Fazer logon com a ID do Microsoft Entra.
A opção para criar um registro é selecionada por padrão. É possível alterar o nome do registro. Para obter mais informações sobre como habilitar um provedor do Microsoft Entra, consulte Configurar seu Serviço de Aplicativo ou aplicativo do Azure Functions para usar uma entrada do Microsoft Entra ID.
Navegue até o Serviço do Azure SignalR e siga as etapas para adicionar uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário.
No Serviço do Azure SignalR, acesse Configurações upstream e selecione Usar Identidade Gerenciada e Selecionar entre aplicativos existentes. Selecione o aplicativo que você criou anteriormente.
Com essas configurações definidas, o aplicativo de funções rejeitará as solicitações sem um token de acesso no cabeçalho.
Validar tokens de acesso
Se você não estiver usando o WebApp ou o Azure Function, você também poderá validar o token.
O token no cabeçalho Authorization
é um token de acesso da plataforma de identidade da Microsoft.
Para validar os tokens de acesso, o aplicativo também deve validar o público-alvo e os tokens de assinatura. Estes tokens precisam ser validados em relação aos valores no documento de descoberta OpenID. Para ver um exemplo, confira a versão independente de locatário do documento.
O middleware do Microsoft Entra tem funcionalidades internas para validar tokens de acesso. Você pode navegar pelas amostras de código da plataforma de identidade da Microsoft para encontrar uma na linguagem de sua escolha.
Estão disponíveis bibliotecas e exemplos de código que mostram como lidar com a validação de token. Há também várias bibliotecas de parceiros de código aberto disponíveis para validação de JWT (Token Web JSON). Há pelo menos uma opção de biblioteca para quase todas as plataformas e idiomas. Para obter mais informações sobre bibliotecas de autenticação do Microsoft Entra e amostras de código, confira Bibliotecas de autenticação da plataforma de identidade da Microsoft.
Usar uma identidade gerenciada para uma referência de cofre de chaves
O Serviço do Azure SignalR pode acessar o cofre de chaves para obter os segredos usando a identidade gerenciada.
- Adicione uma identidade atribuída ao sistema ou uma identidade atribuída pelo usuário à instância do Serviço do Azure SignalR.
- Conceda a permissão de leitura de segredos à identidade gerenciada nas políticas de acesso do cofre de chaves. Confira Atribuir uma política de acesso do cofre de chaves usando o portal do Azure.
Atualmente, você pode usar esse recurso para referenciar um segredo no padrão de URL upstream.