Utilizar uma identidade gerida

Este artigo mostra como criar e usar uma identidade gerenciada no Azure Web PubSub.

Importante

O Azure Web PubSub pode dar suporte a apenas uma identidade gerenciada. Você pode adicionar uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário.

Adicionar uma identidade atribuída ao sistema

Para configurar uma identidade gerenciada no portal do Azure, crie uma instância do Azure Web PubSub e ative o recurso.

  1. No portal do Azure, crie um recurso Web PubSub. Vá para o recurso no portal.

  2. No menu à esquerda, selecione Identidade.

  3. Selecione a guia Sistema atribuído e defina Status como Ativado. Selecione Guardar.

    Captura de tela que mostra a adição de uma identidade atribuída ao sistema no portal do Azure.

Adicionar uma identidade atribuída pelo usuário

Para criar um recurso Web PubSub usando uma identidade atribuída pelo usuário, crie a identidade e adicione o identificador de recurso da identidade ao seu serviço.

  1. Crie um recurso de identidade gerenciado atribuído pelo usuário.

  2. No portal do Azure, crie um recurso Web PubSub. Vá para o recurso no portal.

  3. No menu à esquerda, selecione Identidade.

  4. Selecione a guia Usuário atribuído e, em seguida, selecione Adicionar.

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

    Captura de ecrã que mostra a adição de uma identidade atribuída pelo utilizador no portal do Azure.

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

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

Configurar a autenticação de identidade gerenciada para um manipulador de eventos

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

  2. Vá para Configurar configurações de hub e adicione ou edite um manipulador de eventos upstream.

    Captura de ecrã que mostra as definições a utilizar no painel Configurar definições de hub.

  3. Em Autenticação, selecione Usar Identidade Gerenciada e marque a caixa de seleção Especificar o público de token emitido. O público torna-se a aud declaração no token de acesso. A declaração pode fazer parte da validação para seu manipulador de eventos.

    Para autenticação, você pode escolher uma destas opções:

    • Use um aplicativo Microsoft Entra existente. O ID do aplicativo que você escolher é usado.
    • Use o URI da ID do aplicativo da entidade de serviço.

    Importante

    Usando um recurso vazio realmente adquire um destino de token para o Microsoft Graph. Atualmente, o Microsoft Graph permite a criptografia de token, portanto, não há suporte para um aplicativo autenticar o token além do Microsoft Graph. Você sempre deve criar uma entidade de serviço para representar seu destino upstream. Defina o valor de ID do Aplicativo ou URI da ID do Aplicativo para a entidade de serviço que você criou.

Autenticação em um aplicativo do Azure Functions

Você pode facilmente definir a validação de acesso para um aplicativo Functions sem fazer alterações no código.

  1. No portal do Azure, vá para o aplicativo Funções.

  2. No menu à esquerda, selecione Autenticação.

  3. Selecione Adicionar um provedor de identidade.

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

  5. Para Ação a ser tomada quando a solicitação não for autenticada, selecione Entrar com a ID do Microsoft Entra.

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

    Captura de tela que mostra informações básicas para adicionar um provedor de identidade.

  7. Vá para o recurso Web PubSub e adicione uma identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário.

  8. No menu esquerdo do recurso Web PubSub, selecione Configurações.

  9. Selecione Editar para editar as configurações do hub e, em seguida, selecione Editar para editar as configurações do manipulador de eventos. Em Autenticação, selecione Usar Identidade Gerenciada e marque a caixa de seleção Selecionar de aplicativos existentes. Selecione o aplicativo que você criou.

Depois de definir essas configurações, o aplicativo Functions rejeita solicitações que não têm um token de acesso no cabeçalho.

Validar um token de acesso

Se você não estiver usando o recurso Aplicativos Web do Serviço de Aplicativo do Azure ou do Azure Functions, também poderá validar o token.

O token no cabeçalho é um token de acesso à Authorization plataforma de identidade da Microsoft.

Para validar um token de acesso, seu aplicativo também deve validar o público e o token de assinatura. Os tokens de assinatura devem 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 em nossos exemplos para encontrar um que está escrito no idioma que você deseja usar.

Fornecemos bibliotecas e exemplos de código que mostram como lidar com a validação de tokens. 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 para quase todas as plataformas e idiomas. Para obter mais informações sobre bibliotecas de autorização do Microsoft Entra e exemplos de código, consulte Bibliotecas de autenticação da plataforma de identidade da Microsoft.

Se o manipulador de eventos hospedar no Azure Functions ou em Aplicativos Web, uma maneira fácil é configurar a entrada do Microsoft Entra.

Usar uma identidade gerenciada para uma referência de cofre de chaves

O Web PubSub pode acessar um cofre de chaves para obter um segredo usando uma identidade gerenciada.

  1. Adicione uma identidade atribuída ao sistema ou uma identidade atribuída pelo usuário para o Azure Web PubSub.

  2. No cofre de chaves, conceda permissões de leitura secreta para a identidade gerenciada usando políticas de acesso. Para obter mais informações, consulte Atribuir uma política de acesso ao cofre de chaves no portal do Azure.

Atualmente, esse recurso pode ser usado no seguinte cenário:

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