Compartilhar via


Autentique um aplicativo com o ID do Microsoft Entra para acessar recursos dos 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 o Microsoft Entra ID com os Hubs de Eventos do Azure é que você não precisa mais armazenar suas credenciais no código. Em vez disso, é possível solicitar 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 (um usuário, um grupo, uma entidade de serviço ou uma identidade gerenciada) que executa 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 uma solicitação 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 ser definido para o nível de assinatura, do grupo de recursos, do namespace de Hubs de Eventos ou de qualquer recurso sob ele. Uma entidade de segurança do Microsoft Entra pode atribuir funções a um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.

Observação

Uma definição de função é uma coleção de permissões. O RBAC do Azure (controle de acesso baseado em função do Azure) controla como essas permissões são impostas por meio da atribuição de função. Uma atribuição de função consiste em três elementos: entidade 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 as seguintes funções internas do Azure para autorizar o acesso aos dados dos Hubs de Eventos usando o Microsoft Entra ID e o OAuth:

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

Importante

Nossa versão prévia dava suporte a adicionar privilégios de acesso a dados dos Hubs de Eventos à função de proprietário ou colaborador. No entanto, os privilégios de acesso a dados para a função de proprietário e colaborador não são mais respeitados. Se você estiver usando a função de proprietário ou colaborador, mude para usando a função de proprietário de dados dos Hubs de Eventos do Azure.

Autenticar a partir de um aplicativo

Uma das principais vantagens de usar o Microsoft Entra ID com os Hubs de Eventos é que as credenciais não precisam mais ser armazenadas no código. Em vez disso, é possível solicitar 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 entidade de serviço) que executa 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 mostram como configurar o aplicativo nativo ou aplicativo Web para autenticação na 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 em um locatário do Microsoft Entra

A primeira etapa para usar o Microsoft Entra ID a fim de autorizar recursos dos Hubs de Eventos é registrar seu aplicativo cliente em 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. Em seguida, o Microsoft Entra ID fornecerá uma ID do cliente (também chamada de ID do aplicativo) que você poderá usar para associar seu aplicativo ao runtime do Microsoft Entra. Para saber mais sobre a ID do cliente, confira Objetos de entidade de serviço e aplicativo no Microsoft Entra ID.

Observação

Se você registrar o aplicativo como um aplicativo nativo, poderá especificar qualquer URI válido para 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, pois ele especifica a URL para a qual os tokens são fornecidos.

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

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

Criar um segredo do cliente

O aplicativo precisa de 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 (grupo de recursos, assinatura ou namespace do Hubs de Eventos). 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, você pode testar esse comportamento com amostras neste local do GitHub. Para saber mais sobre como gerenciar o acesso aos recursos do Azure usando o Azure RBAC (controle de acesso baseado em função) e o portal do Azure, confira este artigo.

Bibliotecas de cliente para aquisição de token

Depois de registrar seu aplicativo e conceder permissões para enviar/receber dados nos Hubs de Eventos do Azure, você pode adicionar código ao aplicativo para autenticar uma entidade de segurança e adquirir um token do OAuth 2.0. Para autenticar e adquirir o token, você pode usar uma das Bibliotecas de autenticação da plataforma de identidade da Microsoft ou outra biblioteca de software livre que dê suporte a OpenID ou 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.

Exemplos

Confira os seguintes artigos relacionados: