Identidades gerenciadas para o Serviço do Azure SignalR

No Serviço Azure SignalR, você pode usar uma identidade gerenciada da ID do Microsoft Entra para:

  • Obtenha tokens de acesso.
  • Acesse segredos no Cofre de Chaves do Azure.

O serviço oferece suporte a apenas uma identidade gerenciada. Você pode criar uma identidade atribuída pelo sistema ou pelo usuário. Uma identidade atribuída pelo sistema é dedicada à sua instância do Serviço SignalR do Azure e é excluída quando você exclui a instância. Uma identidade atribuída pelo usuário é gerenciada independentemente do recurso do Serviço SignalR do Azure.

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 Cofre de Chaves do Azure.
  • Um aplicativo do Azure Functions (aplicativo de função).

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 à sua instância do Serviço SignalR do Azure:

  1. No portal do Azure, navegue até sua instância do Serviço SignalR do Azure.

  2. Selecionar Identidade.

  3. Na guia Sistema atribuído, alterne o Status para Ativado.

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. Selecione Salvar.

  5. 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 SignalR do Azure, você precisa criar a identidade e adicioná-la ao serviço.

  1. Crie um recurso de identidade gerenciado atribuído pelo usuário de acordo com estas instruções.

  2. No portal do Azure, navegue até sua instância do Serviço SignalR do Azure.

  3. Selecionar Identidade.

  4. Na guia Usuário atribuído, selecione Adicionar.

  5. No menu suspenso Identidades gerenciadas atribuídas ao usuário, selecione a identidade.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. 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 à sua instância do Serviço SignalR do Azure, você pode habilitar a autenticação de identidade gerenciada nas configurações de ponto de extremidade upstream:

  1. No portal do Azure, navegue até sua instância do Serviço SignalR do Azure.

  2. Selecione o menu Configurações.

  3. Selecione o modo de serviço sem servidor.

  4. Na caixa de texto Adicionar um padrão de URL upstream, insira o padrão de URL de ponto de extremidade upstream. Consulte Configurações do modelo de URL.

  5. Selecione Adicionar uma configuração upstream e, em seguida, selecione qualquer asterisco.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. Em Configurações de upstream, defina suas configurações de ponto de extremidade upstream.

    Screenshot of upstream settings for Azure SignalR Service.

  7. Nas configurações de autenticação de identidade gerenciada, para Público 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 de ID do aplicativo da entidade de serviço.

    Importante

    Usando o recurso vazio, adquira um token de destinos para o Microsoft Graph. Como hoje, o Microsoft Graph habilita a criptografia de token para que 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 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 definir facilmente a validação de acesso para um aplicativo de função sem alterações de código usando o portal do Azure:

  1. No portal do Azure, vá para o aplicativo de função.

  2. Selecione Autenticação no menu.

  3. Selecione Adicionar provedor de identidade.

  4. Na guia Noções básicas, na lista suspensa Provedor de identidade, selecione Microsoft.

  5. Em Ação a ser executada quando a solicitação não for autenticada, selecione Efetuar logon com o Microsoft Entra ID.

  6. 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 aplicativo do Serviço de Aplicativo ou do Azure Functions para usar uma entrada na ID do Microsoft Entra.

    Screenshot that shows basic information for adding an identity provider.

  7. Vá para o Serviço SignalR do Azure e siga as etapas para adicionar uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário.

  8. 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 o WebApp ou a Função do Azure, 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 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.

Estão disponíveis bibliotecas e exemplos de código que mostram como lidar com a validação de token. Várias bibliotecas de parceiros de código aberto também estão disponíveis para validação do JSON Web Token (JWT). 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 exemplos de código, consulte Bibliotecas de autenticação de plataforma de identidade da Microsoft.

Usar uma identidade gerenciada para uma referência do Cofre de Chaves

O Serviço SignalR do Azure pode acessar o Cofre de Chaves para obter segredos usando a identidade gerenciada.

  1. Adicione uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário à sua instância do Serviço SignalR do Azure.
  2. 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 do Cofre de Chaves usando o portal do Azure.

Atualmente, você pode usar esse recurso para fazer referência a um segredo no padrão de URL upstream.

Próximas etapas