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.
Uma identidade gerida é uma identidade no Microsoft Entra ID que o Azure gere por si, para que uma aplicação possa autenticar-se em serviços que suportam autenticação Microsoft Entra sem armazenar quaisquer credenciais. O Hubs de Eventos do Azure suporta autenticação Microsoft Entra com identidades geridas para recursos Azure, o que permite que aplicações a correr no Azure se liguem aos Event Hubs sem incorporar strings de ligação ou chaves de acesso no código ou configuração.
Quando utiliza uma identidade gerida juntamente com a autenticação do Microsoft Entra, as aplicações em execução em serviços como o Máquinas Virtuais do Azure, o Funções do Azure, o Serviço de Aplicações do Azure e o Conjuntos de Dimensionamento de Máquinas Virtuais podem aceder a dados do Event Hubs com credenciais que o Azure aprovisiona e renova automaticamente. Esta abordagem elimina o risco de chaves vazadas e reduz a sobrecarga operacional da gestão de credenciais.
Para um exemplo passo a passo, veja Access Hubs de Eventos do Azure a partir de uma VM usando uma identidade gerida.
Como funciona a autenticação de identidade gerida
O acesso a um recurso de Event Hubs através de uma identidade gerida é um processo em dois passos:
- Autenticação: A identidade gerida solicita um token OAuth 2.0 ao Microsoft Entra ID. O Azure fornece automaticamente a identidade com base no ambiente de computação onde o código é executado, pelo que nenhum segredo é armazenado ou passado na aplicação.
- Autorização: O token é apresentado ao serviço Event Hubs, que concede acesso com base nos papéis de controlo de acesso baseado em funções (RBAC) do Azure atribuídos à identidade.
Para uma descrição completa do fluxo de autenticação e autorização, consulte Autorizar acesso aos recursos do Hubs de Eventos do Azure usando o Microsoft Entra ID.
Tipos de identidade gerenciados
O Event Hubs trabalha com ambos os tipos de identidades geridas:
- Identidade gerida atribuída ao sistema: Ativada diretamente num recurso Azure, como uma máquina virtual ou uma aplicação de Serviços de Aplicações. O seu ciclo de vida está ligado a esse recurso, e só esse recurso pode usá-lo para pedir tokens.
- Identidade gerida atribuída pelo utilizador: Criada como um recurso Azure autónomo e atribuída a um ou mais recursos Azure, para que múltiplas cargas de trabalho possam partilhar a mesma identidade.
Para saber mais sobre os dois tipos e quando escolher cada um, consulte Tipos de identidade geridos. Para a lista de serviços que suportam identidades geridas, consulte Serviços que suportam identidades geridas para recursos Azure.
Funções incorporadas do Azure para Event Hubs
Depois de ativares uma identidade gerida, atribui-lhe um papel incorporado no Azure que defina as suas permissões sobre os dados do Event Hubs. O Azure fornece as seguintes funções incorporadas para autorizar o acesso a dados dos Event Hubs com o Microsoft Entra ID:
| Role | Description |
|---|---|
| Proprietário de Dados dos Hubs de Eventos do Azure | Concede acesso total aos recursos do Event Hubs. |
| Remetente de Dados do Hubs de Eventos do Azure | Concede permissão para enviar eventos para os recursos do Event Hubs. |
| Receptor de Dados do Hubs de Eventos do Azure | Concede permissão para receber eventos através dos recursos do Event Hubs. |
Pode atribuir um papel ao nível de um grupo de consumidores, hub de eventos, namespace, grupo de recursos ou subscrição. Conceda o âmbito mais restrito que satisfaça as necessidades da candidatura. Para a lista completa de âmbitos e detalhes de funções, consulte funções incorporadas no Azure para Hubs de Eventos do Azure. Para atribuir uma função no portal Azure, consulte Atribuir papéis Azure usando o portal Azure.
Comportamento de expiração do token
Quando remove uma identidade gerida de uma função RBAC do Event Hubs, a alteração não produz efeitos imediatamente numa aplicação em execução. Se o serviço de origem ou a aplicação não reiniciar, pode continuar a enviar ou receber eventos do hub de eventos até o token expirar. A validade padrão do token é de 24 horas. Este comportamento é intencional.
Para revogar o acesso imediatamente após remover a identidade do cargo, reinicie a aplicação ou serviço de origem para que o token existente expire.
Suporte ao SDK do cliente
As bibliotecas de cliente do SDK do Azure obtêm por si o token de identidade gerida através de DefaultAzureCredential, que deteta automaticamente a identidade gerida disponível no ambiente de alojamento. Passa a credencial para EventHubProducerClient para enviar eventos e a EventHubConsumerClient para receber eventos, sem fornecer uma cadeia de ligação nem uma chave.
var credential = new DefaultAzureCredential();
// Send events with a managed identity.
var producerClient = new EventHubProducerClient(
"<namespace>.servicebus.windows.net",
"<event-hub-name>",
credential);
// Receive events with a managed identity.
var consumerClient = new EventHubConsumerClient(
EventHubConsumerClient.DefaultConsumerGroupName,
"<namespace>.servicebus.windows.net",
"<event-hub-name>",
credential);
Instale o pacote Azure.Messaging.EventHubs mais recente a partir do NuGet para utilizar estes clientes. Para amostras executáveis, veja:
- Publicar eventos com uma identidade gerida (.NET), que utiliza o pacote atual Azure.Messaging.EventHubs.
- Exemplo de identidade gerida (.NET, legado), que utiliza o pacote legado Microsoft.Azure.EventHubs.
- Publicar eventos com identidade Azure (Java).
Centros de Eventos para Apache Kafka
As aplicações Apache Kafka podem enviar eventos para e receber eventos do Hubs de Eventos do Azure usando identidade gerida com OAuth. Para um exemplo de Java, veja Event Hubs for Kafka: send and receive messages using managed identity OAuth.
Conteúdos relacionados
- Acede ao Hubs de Eventos do Azure a partir de uma VM usando uma identidade gerida
- O que são identidades gerenciadas para recursos do Azure?
- Autorizar o acesso aos recursos dos Hubs de Eventos utilizando o Microsoft Entra ID
- Autenticar solicitações para Hubs de Eventos do Azure a partir de um aplicativo usando a ID do Microsoft Entra
- Autenticar solicitações para Hubs de Eventos do Azure usando Assinaturas de Acesso Compartilhado
- Autorizar o acesso aos recursos dos Hubs de Eventos usando Assinaturas de Acesso Compartilhado