Autorizar o acesso aos recursos dos Hubs de Eventos usando o Microsoft Entra ID

Os Hubs de Eventos do Azure dão suporte ao uso do Microsoft Entra ID para autorizar solicitações aos recursos dos 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 entidade de serviço de aplicativo. Para saber mais sobre as funções e atribuições de função, confira Noções básicas sobre funções diferentes.

Visã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.

  1. 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.
  2. Em seguida, o token é passado como parte de uma solicitação para o serviço dos Hubs de Eventos para autorizar o acesso ao recurso especificado.

A etapa de autenticação requer que uma solicitação do aplicativo contenha um token de acesso OAuth 2.0 no runtime. Se um aplicativo estiver em execução em uma entidade do Azure, como uma VM do Azure, um conjunto de dimensionamento de máquinas virtuais ou um aplicativo do Azure Functions, 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 de Hubs de Eventos, confira Autenticar o acesso aos recursos dos Hubs de Eventos do Azure com o Microsoft Entra ID e as 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 terá. Para obter mais informações sobre as funções do Azure, confira Funções internas do Azure para Hubs de Eventos do Azure.

Os aplicativos nativos e os aplicativos Web que fazem as solicitações aos Hubs de Eventos também poderão autorizar com o Microsoft Entra ID. Para saber como solicitar um token de acesso e usá-lo para autorizar solicitações para recursos de Hubs de Eventos, confira Autenticar o acesso aos Hubs de Eventos do Azure com o Microsoft Entra ID de um aplicativo.

Atribuir funções do Azure para direitos de acesso

O Microsoft Entra autoriza os direitos de acesso aos recursos protegidos por meio do RBAC do Azure (controle de acesso baseado em função). Os Hubs de Eventos do Azure definem um conjunto de funções internas do Azure que abrangem 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 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 ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada para recursos do Azure.

Funções interna do Azure par Hubs de Eventos do Azure

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

Função Descrição
Proprietário de dados dos Hubs de Eventos do Azure Use essa função para fornecer acesso completo aos recursos dos Hubs de Eventos.
Remetente de dados dos Hubs de Eventos do Azure Use essa função para fornecer acesso de envio aos recursos dos Hubs de Eventos.
Receptor de dados dos Hubs de Eventos do Azure Use essa função para fornecer o acesso de consumo/recebimento aos recursos dos Hubs de Eventos.

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

Escopo do recurso

Antes de atribuir uma função do Azure a uma entidade de segurança, determine o escopo do acesso que essa entidade de segurança deve ter. De acordo com as melhores práticas, sempre é melhor conceder o escopo mais estreito possível.

A seguinte lista descreve os níveis de escopo de acesso que você pode definir para os recursos de Hubs de Eventos, começando pelo escopo mais estreito:

  • Grupo de consumidores: nesse escopo, a atribuição de função se aplica somente a essa entidade. Atualmente, o portal do Azure não dá 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 se aplica aos hubs de eventos e seus grupos de consumidores.
  • Namespace: a atribuição de função abrange toda a topologia dos Hubs de Eventos no namespace e no grupo de consumidores associado a ela.
  • Grupo de recursos: a atribuição de função se aplica a todos os recursos dos Hubs de Eventos no grupo de recursos.
  • Assinatura: a atribuição de função se aplica a todos os recursos dos Hubs de Eventos em todos os grupos de recursos na assinatura.

Observação

  • Lembre-se de que as atribuições de função do Azure podem levar até cinco minutos para se propagar.
  • Esse conteúdo se aplica a Hubs de Eventos e Hubs de Eventos para Apache Kafka. Para obter mais informações sobre os Hubs de Eventos para suporte a Kafka, confira Hubs de Eventos para Kafka – segurança e autenticação.

Para obter mais informações sobre como as funções internas são definidas, confira Compreender as definições de função. Para obter informações sobre como criar funções personalizadas do Azure, confira Funções personalizadas do Azure.

Exemplos

Próximas etapas

Confira os seguintes artigos relacionados: