Compartilhar via


Autenticar um aplicativo com a ID do Microsoft Entra para acessar os Hubs de Eventos

O Microsoft Azure fornece gerenciamento de controle de acesso integrado para recursos e aplicativos com base no Microsoft Entra ID. Uma das principais vantagens de usar a ID do Microsoft Entra com os Hubs de Eventos do Azure é que você não precisa armazenar credenciais no código. Em vez disso, solicite um token de acesso OAuth 2.0 da plataforma de identidade da Microsoft. O nome do recurso para solicitar um token é https://eventhubs.azure.net/ e é o mesmo para todas as nuvens/locatários (para clientes Kafka, o recurso para solicitar um token é https://<namespace>.servicebus.windows.net). O Microsoft Entra autentica a entidade de segurança, como um usuário, grupo, entidade de serviço ou identidade gerenciada, que está executando o aplicativo. Se a autenticação for bem-sucedida, a ID do Microsoft Entra retornará um token de acesso ao aplicativo, que poderá usar o token para autorizar solicitações aos recursos dos Hubs de Eventos do Azure.

Quando uma função é atribuída a uma entidade de segurança do Microsoft Entra, o Azure permite que essa entidade de segurança tenha acesso a esses recursos. O acesso pode ter como escopo a assinatura, o grupo de recursos, o namespace dos Hubs de Eventos ou qualquer recurso sob ele. Uma entidade de segurança do Microsoft Entra pode atribuir funções a um usuário, grupo, entidade de serviço de aplicativo ou a uma identidade gerenciada para recursos do Azure.

Note

Uma definição de função é um conjunto de permissões. O RBAC (controle de acesso baseado em função) do Azure impõe essas permissões por meio da atribuição de função. Uma atribuição de função inclui três elementos: principal de segurança, definição de função e escopo. Para saber mais, confira Compreender as diferentes funções.

Funções interna para Hubs de Eventos do Azure

O Azure fornece essas funções internas para autorizar o acesso aos dados dos Hubs de Eventos usando a ID do Microsoft Entra e o OAuth:

Para funções internas do Registro de Esquema, confira Funções do Registro de Esquema.

Important

A versão prévia suportou a adição de privilégios de acesso a dados dos Hubs de Eventos à função Proprietário ou Colaborador. No entanto, esses privilégios não são mais honrados. Se você estiver usando a função Proprietário ou Colaborador, alterne para a função Proprietário de Dados dos Hubs de Eventos do Azure.

Autenticar a partir de um aplicativo

Uma das principais vantagens de usar a ID do Microsoft Entra com Hubs de Eventos é que você não precisa armazenar suas credenciais em seu código. Em vez disso, solicite um token de acesso OAuth 2.0 da plataforma de identidade da Microsoft. O Microsoft Entra autentica a entidade de segurança (um usuário, um grupo ou uma entidade de serviço) executando o aplicativo. Se a autenticação tiver sucesso, o Microsoft Entra ID retornará o token de acesso ao aplicativo e o aplicativo poderá usá-lo para autorizar solicitações aos Hubs de Eventos do Azure.

As seções a seguir explicam como configurar um aplicativo nativo ou aplicativo Web para autenticação com a plataforma de identidade da Microsoft 2.0. Para obter mais informações sobre a plataforma de identidade 2.0 da Microsoft, confira Visão geral da plataforma de identidade (v2.0) da Microsoft.

Para ter uma visão geral do fluxo de concessão de código do OAuth 2.0, confira Autorizar o acesso aos aplicativos Web do Microsoft Entra usando o fluxo de concessão de código do OAuth 2.0.

Registrar seu aplicativo junto ao Microsoft Entra ID

A primeira etapa para usar a ID do Microsoft Entra para autorizar recursos dos Hubs de Eventos é registrar um aplicativo cliente com um locatário do Microsoft Entra no portal do Azure. Execute as etapas descritas no Início Rápido: Registrar um aplicativo na plataforma de identidade da Microsoft para registrar no Microsoft Entra ID um aplicativo que representa seu aplicativo tentando acessar os recursos dos Hubs de Eventos.

Ao registrar o aplicativo cliente, você fornece informações sobre ele. A ID do Microsoft Entra fornece uma ID do cliente, também chamada de ID do aplicativo, para associar o aplicativo ao runtime do Microsoft Entra. Para saber mais sobre a ID do cliente, consulte Objetos de entidade de serviço e aplicativo no Microsoft Entra ID.

Note

Se você registrar o aplicativo como um aplicativo nativo, especifique qualquer URI válido para o URI de Redirecionamento. Para aplicativos nativos, esse valor não precisa ser uma URL real. Para aplicativos Web, o URI de redirecionamento deve ser um URI válido porque especifica a URL em que os tokens são fornecidos.

Depois de registrar o aplicativo, você verá a ID do aplicativo (cliente) em Configurações:

Captura de tela da página de registro de aplicativo do portal do Azure com a ID do aplicativo realçada.

Criar um segredo do cliente para autenticação

O aplicativo requer um segredo do cliente para provar sua identidade ao solicitar um token. Execute as etapas descritas em Adicionar um segredo do cliente para criar um segredo do cliente para seu aplicativo no Microsoft Entra ID.

Atribuir funções do Azure usando o portal do Azure

Atribua uma das funções do Hubs de Eventos à entidade de serviço do aplicativo no escopo desejado, como namespace do Hubs de Eventos, grupo de recursos ou assinatura. Para ver as etapas detalhadas, confira Atribuir funções do Azure usando o portal do Azure.

Depois de definir a função e seu escopo, teste esse comportamento com exemplos disponíveis neste local do GitHub. Para saber mais sobre como gerenciar o acesso aos recursos do Azure usando o RBAC (controle de acesso baseado em função) do Azure e o portal do Azure, consulte este artigo.

Usar bibliotecas de cliente para adquirir tokens

Depois de registrar seu aplicativo e conceder permissões para enviar ou receber dados nos Hubs de Eventos do Azure, adicione código ao seu aplicativo para autenticar uma entidade de segurança e adquirir um token OAuth 2.0. Para autenticar e adquirir o token, use uma das bibliotecas de autenticação da plataforma de identidade da Microsoft ou outra biblioteca de software livre que dê suporte ao OpenID Connect 1.0. Seu aplicativo pode, então, usar o token de acesso para autorizar uma solicitação nos Hubs de Eventos do Azure.

Para ver os cenários com suporte para tokens de aquisição, confira a seção Cenários do repositório MSAL (Biblioteca de Autenticação da Microsoft) para .NET do GitHub.

Samples

Confira os seguintes artigos relacionados: