Autenticar um aplicativo com o Microsoft Entra ID para acessar Hubs de Eventos

O Microsoft Azure fornece gerenciamento de controle de acesso integrado para recursos e aplicativos baseados no Microsoft Entra ID. Uma das principais vantagens de usar o Microsoft Entra ID com 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 e inquilinos. 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 utilizador, grupo, entidade de serviço ou identidade gerida, que executa a aplicação. 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 atribui um papel a um principal de segurança da Microsoft Entra, o Azure concede acesso a esses recursos para esse principal de segurança. Pode definir o âmbito do acesso à subscrição, ao grupo de recursos, ao espaço de nomes do Event Hubs ou a qualquer recurso nele incluído. Uma entidade de segurança do Microsoft Entra pode atribuir funções a um usuário, grupo, entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.

Note

Uma definição de função é uma coleção de permissões. O controle de acesso baseado em função do Azure (Azure RBAC) 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 obter mais informações, consulte Noções básicas sobre as diferentes funções.

Pré-requisitos

Funções internas para Hubs de Eventos do Azure

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

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

Important

A versão de pré-visualização suportava adicionar privilégios de acesso a dados do Hub de Eventos à função de Proprietário ou Colaborador. No entanto, esses privilégios não são mais honrados. Se estiver a utilizar a função de Proprietário ou Colaborador, mude para a função de Proprietário de Dados dos Hubs de Eventos do Azure.

Autenticar a partir de uma aplicação

Uma das principais vantagens de usar o Microsoft Entra ID 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 entidade de serviço) que executa o aplicativo. Se a autenticação for bem-sucedida, a ID do Microsoft Entra retornará o token de acesso ao aplicativo e o aplicativo poderá usar o token de acesso 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 Microsoft 2.0. Para obter mais informações sobre a plataforma de identidade da Microsoft 2.0, consulte Visão geral da plataforma de identidade da Microsoft (v2.0).

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

Registe a sua candidatura com o Microsoft Entra ID

O primeiro passo para usar o Microsoft Entra ID para autorizar os recursos do Event Hubs é registar uma aplicação cliente com um inquilino Microsoft Entra no centro de administração Microsoft Entra. Siga os passos em Início Rápido: Registar uma aplicação na plataforma de identidades da Microsoft para registar uma aplicação no Microsoft Entra ID que representa a sua aplicação que está a tentar aceder a recursos do Event Hubs.

Ao registrar seu aplicativo cliente, você fornece informações sobre o aplicativo. O Microsoft Entra ID fornece uma ID de cliente, também chamada de ID de aplicativo, para associar o aplicativo ao tempo de execução do Microsoft Entra. Para saber mais sobre a ID do cliente, consulte Objetos principais de aplicativo e serviço na ID do Microsoft Entra.

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 onde os tokens são fornecidos.

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

Captura de ecrã da página de registo da aplicação do portal do Azure com o ID da aplicação realçado.

Criar um segredo do cliente para autenticação

O aplicativo requer um segredo do cliente para provar sua identidade ao solicitar um token. Siga os passos em Adicionar um segredo do cliente para criar um segredo do cliente para a sua aplicação no Microsoft Entra ID.

Atribua funções ao Azure usando o portal Azure

Atribua uma das funções do Event Hubs à entidade de serviço da aplicação no escopo desejado, como o namespace do Event Hubs, o grupo de recursos ou a subscrição. Para obter etapas detalhadas, consulte Atribuir funções do Azure usando o portal do Azure.

Depois de definir o papel e o seu âmbito, teste este comportamento com exemplos disponíveis nesta localização do GitHub. Para saber mais sobre a gestão do acesso aos recursos do Azure utilizando o controlo de acesso baseado em funções (RBAC) do Azure e o portal do Azure, consulte este artigo.

Usar bibliotecas de cliente para adquirir tokens

Depois de registar a sua aplicação e conceder-lhe permissões para enviar ou receber dados no Hubs de Eventos do Azure, adicione código à sua aplicação para autenticar um principal de segurança e adquira 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 código aberto que ofereça suporte ao OpenID Connect 1.0. Seu aplicativo pode usar o token de acesso para autorizar uma solicitação nos Hubs de Eventos do Azure.

Para cenários em que a aquisição de tokens é suportada, consulte a seção Cenários da Biblioteca de Autenticação da Microsoft (MSAL) para o repositório .NET GitHub.

Samples

Veja os seguintes artigos relacionados: