Autorizar o acesso aos recursos dos Hubs de Eventos utilizando o Microsoft Entra ID
Os Hubs de Eventos do Azure dão suporte ao uso da ID do Microsoft Entra para autorizar solicitações a recursos de Hubs de Eventos. Com o Microsoft Entra ID, você pode usar o RBAC (controle de acesso baseado em função) do Azure para conceder permissões a uma entidade de segurança, que pode ser um usuário ou uma entidade de serviço de aplicativo. Para saber mais sobre funções e atribuições de função, consulte Noções básicas sobre as diferentes funções.
Descrição geral
Quando uma entidade de segurança (um usuário ou um aplicativo) tenta acessar um recurso de Hubs de Eventos, a solicitação deve ser autorizada. Com o Microsoft Entra ID, o acesso a um recurso é um processo de duas etapas.
- Primeiro, a identidade da entidade de segurança é autenticada e um token OAuth 2.0 é retornado. 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
. - Em seguida, o token é passado como parte de uma solicitação ao serviço Hubs de Eventos para autorizar o acesso ao recurso especificado.
A etapa de autenticação requer que uma solicitação de aplicativo contenha um token de acesso OAuth 2.0 em tempo de execução. Se um aplicativo estiver sendo executado em uma entidade do Azure, como uma VM do Azure, um conjunto de dimensionamento de máquina virtual ou um aplicativo do Azure Function, ele poderá usar uma identidade gerenciada para acessar os recursos. Para saber como autenticar solicitações feitas por uma identidade gerenciada para o serviço Hubs de Eventos, consulte Autenticar o acesso aos recursos dos Hubs de Eventos do Azure com a ID do Microsoft Entra e identidades gerenciadas para Recursos do Azure.
A etapa de autorização requer que uma ou mais funções do Azure sejam atribuídas à entidade de segurança. Os Hubs de Eventos do Azure fornecem funções do Azure que abrangem conjuntos de permissões para recursos de Hubs de Eventos. As funções atribuídas a uma entidade de segurança determinam as permissões que a entidade de segurança terá. Para obter mais informações sobre funções do Azure, consulte Funções internas do Azure para Hubs de Eventos do Azure.
Aplicativos nativos e aplicativos Web que fazem solicitações para Hubs de Eventos também podem autorizar com o Microsoft Entra ID. Para saber como solicitar um token de acesso e usá-lo para autorizar solicitações de recursos de Hubs de Eventos, consulte Autenticar o acesso aos Hubs de Eventos do Azure com a ID do Microsoft Entra a partir de um aplicativo.
Atribuir funções do Azure para direitos de acesso
O Microsoft Entra autoriza direitos de acesso a recursos protegidos por meio do controle de acesso baseado em função do Azure (Azure RBAC). Os Hubs de Eventos do Azure definem um conjunto de funções internas do Azure que englobam conjuntos comuns de permissões usadas para acessar dados do hub de eventos e você também pode definir funções personalizadas para acessar os dados.
Quando uma função do Azure é atribuída a uma entidade de segurança do Microsoft Entra, o Azure concede acesso a esses recursos para essa entidade de segurança. O acesso pode ter como escopo o nível de assinatura, o grupo de recursos, o namespace Hubs de Eventos ou qualquer recurso sob ele. Uma entidade de segurança do Microsoft Entra pode ser um usuário, uma entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.
Funções internas do Azure 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 OAuth:
Função | Description |
---|---|
Proprietário de dados dos Hubs de Eventos do Azure | Use essa função para dar acesso completo aos recursos dos Hubs de Eventos. |
Remetente de dados dos Hubs de Eventos do Azure | Use essa função para conceder acesso de envio aos recursos dos Hubs de Eventos. |
Recetor de dados dos Hubs de Eventos do Azure | Use essa função para dar ao consumidor/recebimento acesso aos recursos dos Hubs de Eventos. |
Para funções internas do Registro de Esquema, consulte Funções do Registro de Esquema.
Âmbito do recurso
Antes de atribuir uma função do Azure a uma entidade de segurança, determine o escopo de acesso que a entidade de segurança deve ter. As melhores práticas ditam que é sempre melhor conceder apenas o âmbito mais restrito possível.
A lista a seguir descreve os níveis nos quais você pode definir o escopo de acesso aos recursos dos Hubs de Eventos, começando com o escopo mais restrito:
- Grupo de consumidores: neste âmbito, a atribuição de funções aplica-se apenas a esta entidade. Atualmente, o portal do Azure não oferece suporte à atribuição de uma função do Azure a uma entidade de segurança nesse nível.
- Hub de eventos: a atribuição de função aplica-se a hubs de eventos e seus grupos de consumidores.
- Namespace: a atribuição de função abrange toda a topologia dos Hubs de Eventos sob o namespace e para o grupo de consumidores associado a ele.
- Grupo de recursos: a atribuição de função aplica-se a todos os recursos dos Hubs de Eventos sob o grupo de recursos.
- Assinatura: a atribuição de função aplica-se a todos os recursos dos Hubs de Eventos em todos os grupos de recursos da assinatura.
Nota
- Lembre-se de que as atribuições de função do Azure podem levar até cinco minutos para se propagar.
- Este conteúdo aplica-se aos Hubs de Eventos e Hubs de Eventos para Apache Kafka. Para obter mais informações sobre Hubs de Eventos para suporte a Kafka, consulte Hubs de Eventos para Kafka - segurança e autenticação.
Para obter mais informações sobre como as funções internas são definidas, consulte Compreender as definições de função. Para obter informações sobre como criar funções personalizadas do Azure, consulte Funções personalizadas do Azure.
Exemplos
Exemplos de Microsoft.Azure.EventHubs.
Esses exemplos usam a biblioteca herdada Microsoft.Azure.EventHubs, mas você pode atualizá-la facilmente usando a biblioteca Azure.Messaging.EventHubs mais recente. Para mover o exemplo do uso da biblioteca herdada para uma nova, consulte o Guia para migrar de Microsoft.Azure.EventHubs para Azure.Messaging.EventHubs.
Exemplos de Azure.Messaging.EventHubs
Este exemplo foi atualizado para usar a biblioteca Azure.Messaging.EventHubs mais recente.
Conteúdos relacionados
- Saiba como atribuir uma função interna do Azure a uma entidade de segurança, consulte Autenticar o acesso aos recursos dos Hubs de Eventos usando a ID do Microsoft Entra.
- Saiba como criar funções personalizadas com o Azure RBAC.
- Saiba como usar o Microsoft Entra ID com EH
Veja os seguintes artigos relacionados:
- Autenticar solicitações para Hubs de Eventos do Azure a partir de um aplicativo usando a ID do Microsoft Entra
- 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 usando Assinaturas de Acesso Compartilhado