Share via


Identidades gerenciadas no serviço Azure Web PubSub

Este artigo mostra como criar uma identidade gerenciada no serviço do Azure Web PubSub e como usá-la em cenários sem servidor.

Importante

O serviço de Azure Web PubSub pode dar suporte a apenas uma identidade gerenciada. Isso significa que você pode adicionar uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário.

Adicionar uma identidade atribuída pelo sistema

Para configurar uma identidade gerenciada no portal do Microsoft Azure, primeiro crie uma instância do serviço Azure Web PubSub e, em seguida, habilite o recurso.

  1. Crie uma instância do serviço Azure Web PubSub no portal como faria normalmente. Navegue até ela no portal.

  2. Selecionar Identidade.

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

    Add a system-assigned identity in the portal

Adicionar uma identidade atribuída pelo usuário

Criar uma instância de serviço Azure Web PubSub com uma identidade atribuída pelo usuário exige que você crie a identidade e, em seguida, adicione seu identificador de recursos ao serviço.

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

  2. Crie uma instância do serviço Azure Web PubSub no portal como faria normalmente. Navegue até ela no portal.

  3. Selecionar Identidade.

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

  5. Procure a identidade que você criou anteriormente e selecione-a. Selecione Adicionar.

    Add a user-assigned identity in the portal

Usar uma identidade gerenciada em cenários de eventos de cliente

O serviço Azure Web PubSub é totalmente gerenciado, portanto, não é possível usar uma identidade gerenciada para obter tokens manualmente. Em vez disso, quando o serviço Azure Web PubSub envia eventos para o manipulador de eventos, ele usará a identidade gerenciada para obter um token de acesso. Em seguida, o serviço define o token de acesso no cabeçalho Authorization na solicitação HTTP.

Habilitar a autenticação de identidade gerenciada nas configurações do manipulador de eventos

  1. Escolha uma identidade atribuída pelo sistema ou pelo usuário.

  2. Navegue até Definir configurações de hub e adicione ou edite um manipulador de eventos upstream.

    msi-setting

  3. Na seção Autenticação, selecione Usar autenticação e marque Especificar a audiência do token emitido. O público se tornará a aud reivindicação no token de acesso obtido, que pode ser usado como parte da validação em seu manipulador de eventos. Escolha uma das opções:

    • Selecione entre os aplicativos existentes do Microsoft Entra. A ID do aplicativo escolhido será usada.
    • 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ê 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 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 Azure SignalR 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 precisam ser validados em relação aos valores no documento de descoberta OpenID. Por exemplo, consulte a versão independente de locatário do documento.

O middleware Microsoft Entra tem recursos internos para validar tokens de acesso. Você pode navegar pelos nossos exemplos para encontrar um no idioma de sua escolha.

Fornecemos bibliotecas e exemplos de código que mostram como manipular a validação de token. Há também várias bibliotecas de parceiros de código aberto disponíveis para validação JWT (JSON Web token). Há pelo menos uma opção de biblioteca para quase todas as plataformas e idiomas. Para obter mais informações sobre bibliotecas de autorização e exemplos de código do Microsoft Entra, consulte Bibliotecas de autenticação de plataforma de identidade da Microsoft.

Especialmente, se o manipulador de eventos hospedar na Função do Azure ou nos Aplicativos Web, uma maneira fácil é Configurar o logon do Microsoft Entra.

Usar uma identidade gerenciada para referência de Key Vault

O serviço Web PubSub acessa o Azure Key Vault para obter o segredo usando a identidade gerenciada.

  1. Adicione uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário no serviço Azure Web PubSub.

  2. Conceda permissão de leitura secreta para a identidade gerenciada nas políticas de acesso no Key Vault. Confira Atribuir uma política de acesso do Key Vault usando o portal do Azure

Atualmente, esse recurso pode ser usado nos seguintes cenários:

  • Use a sintaxe {@Microsoft.KeyVault(SecretUri=<secret-identity>)} para obter segredos do KeyVault na configuração de modelo de URL do manipulador de eventos.

Próximas etapas