Partilhar via


Identidades gerenciadas para o Serviço Azure Web PubSub

Este artigo mostra como criar uma identidade gerenciada para o Serviço Azure Web PubSub e como usá-la.

Importante

O Serviço Azure Web PubSub pode dar suporte a apenas uma identidade gerenciada. Isso significa que você pode adicionar uma identidade atribuída ao 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, você primeiro criará uma instância do Serviço Web PubSub do Azure e, em seguida, habilitará o recurso.

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

  2. Selecione a Identidade.

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

    Adicionar uma identidade atribuída pelo sistema no portal

Adicionar uma identidade atribuída pelo usuário

Criar uma instância do Serviço Web PubSub do Azure com uma identidade atribuída pelo usuário requer que você crie a identidade e, em seguida, adicione seu identificador de recurso ao seu 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 Web PubSub do Azure no portal como faria normalmente. Navegue até ele no portal.

  3. Selecione a Identidade.

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

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

    Adicionar uma identidade atribuída pelo usuário no portal

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

O Serviç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 Serviço Web PubSub do Azure 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 Authorization cabeçalho na solicitação http.

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

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

  2. Navegue até Configurar Configurações de Hub e adicione ou edite um manipulador de eventos upstream.

    Configuração MSI

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

    • Selecione entre os aplicativos existentes do Microsoft Entra. Será utilizado o ID da candidatura que escolher.
    • O URI da ID do aplicativo da entidade de serviço.

    Importante

    Usando recurso vazio realmente adquirir um token de destinos 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:

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

  2. Selecione Autenticação a partir do 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 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 seu serviço de aplicativo ou 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 seu Serviço Web PubSub e siga as etapas para adicionar uma identidade atribuída pelo sistema ou pelo usuário.

  8. Na guia Configurações do serviço Web PubSub, Editar as configurações do hub, Editar as configurações do manipulador de eventos, na seção Autenticação, selecione Usar identidade gerenciada e Selecionar entre 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. Eles precisam ser validados em relação aos valores no documento de descoberta OpenID. Por 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 através de nossas amostras para encontrar um no idioma de sua escolha.

Fornecemos bibliotecas e exemplos de código que mostram como lidar com a validação de tokens. Há também várias bibliotecas de parceiros de código aberto 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.

Especialmente, se o manipulador de eventos hospedar no Azure Function ou Web Apps, uma maneira fácil é Configurar o logon do Microsoft Entra.

Usar uma identidade gerenciada para referência do Cofre da Chave

O Serviço Web PubSub pode acessar o Cofre da Chave para obter segredo usando a identidade gerenciada.

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

  2. Conceda permissão de leitura secreta para a identidade gerenciada nas políticas de acesso no Cofre da Chave. Consulte Atribuir uma política de acesso ao Cofre da Chave 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 do modelo url do manipulador de eventos.

Próximos passos