Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
- Uma conta do Azure com uma assinatura ativa. Se ainda não tiver uma, crie uma conta gratuita.
- Um espaço de nomes do Event Hubs e um concentrador de eventos. Para os criar, consulte Quickstart: Criar um hub de eventos usando o portal do Azure.
- Permissão para registar uma aplicação no seu tenant Microsoft Entra. Pelo menos o papel de Desenvolvedor de Aplicações .
- Permissão para atribuir papéis no Azure no âmbito alvo. O papel de Proprietário ou Administrador de Acesso ao Utilizador inclui esta permissão.
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:
- Proprietário de Dados dos Hubs de Eventos do Azure: use esta função para dar acesso completo aos recursos dos Hubs de Eventos.
- Remetente de Dados dos Hubs de Eventos do Azure: uma entidade de segurança atribuída a essa função pode enviar eventos para um hub de eventos específico ou para todos os hubs de eventos em um namespace.
- Recetor de Dados dos Hubs de Eventos do Azure: uma entidade de segurança atribuída a essa função pode receber eventos de um hub de eventos específico ou de todos os hubs de eventos em um namespace.
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:
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
- Exemplos de RBAC com o pacote herdado Microsoft.Azure.EventHubs para .NET. Estamos a trabalhar na criação de uma nova versão deste exemplo, utilizando o pacote mais recente Azure.Messaging.EventHubs. Consulte a Identidade Gerida já convertida.
-
Exemplo de RBAC com o pacote Java antigo com.microsoft.azure.eventhubs. Use o guia de migração para migrar este exemplo para usar o novo pacote (
com.azure.messaging.eventhubs). Para saber mais sobre a utilização do novo pacote, consulte os exemplos de Java do Event Hubs.
Conteúdo relacionado
Para saber mais sobre o RBAC do Azure, consulte O que é o controle de acesso baseado em função do Azure (Azure RBAC).
Para aprender a atribuir e gerir atribuições de funções no Azure com Azure PowerShell, CLI do Azure ou a API REST, veja estes artigos:
- Utilizar o Azure PowerShell para adicionar ou remover atribuições de funções do Azure
- Utilizar a CLI do Azure para adicionar ou remover atribuições de funções do Azure
- Utilizar a API REST para adicionar ou remover atribuições de funções do Azure
- Adicionar atribuições de função do Azure usando modelos do Azure Resource Manager
Veja os seguintes artigos relacionados:
- Autenticar uma identidade gerenciada com o Microsoft Entra ID para acessar recursos de Hubs de Eventos
- Autenticar solicitações para Hubs de Eventos do Azure usando Assinaturas de Acesso Compartilhado
- Autorizar o acesso aos recursos dos Hubs de Eventos utilizando o Microsoft Entra ID
- Autorizar o acesso aos recursos dos Hubs de Eventos usando assinaturas de acesso compartilhado