Controlar o acesso a eventos

Concluído

Os Hubs de Eventos do Azure são compatíveis tanto com o Microsoft Entra ID quanto com as assinaturas de acesso compartilhado (SAS) como responsáveis pela autenticação e autorização. O Azure fornece as seguintes funções integradas do Azure para autorizar o acesso aos dados dos Hubs de Eventos usando o Microsoft Entra ID e o OAuth:

Autorizar o acesso com identidades gerenciadas

Para autorizar uma solicitação para o serviço de Hubs de Eventos de uma identidade gerenciada em seu aplicativo, você precisa definir as configurações de controle de acesso baseado em função do Azure para essa identidade gerenciada. Os Hubs de Eventos do Azure definem funções do Azure que abrangem permissões para enviar e ler nos Hubs de Eventos. Quando a função do Azure é atribuída a uma identidade gerenciada, a identidade gerenciada recebe acesso às entidades dos Hubs de Eventos do Azure no escopo apropriado.

Autorizar o acesso com a plataforma de identidade da Microsoft

Uma das principais vantagens de se usar o Microsoft Entra ID com os Hubs de Eventos é que suas credenciais não precisam mais ser armazenadas no seu código. Em vez disso, é possível solicitar 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, o Microsoft Entra ID retornará o token de acesso ao aplicativo e o aplicativo poderá, então, usar o token de acesso para autorizar solicitações aos Hubs de Eventos do Azure.

Autorizar o acesso a editores de Hubs de Eventos com assinaturas de acesso compartilhado

Um editor de eventos define um ponto de extremidade virtual para os Hubs de Eventos. O editor só pode ser usado para enviar mensagens a um hub de eventos, não para receber mensagens. Normalmente, um hub de eventos emprega um editor por cliente. Todas as mensagens enviadas a um dos publicadores de um hub de eventos são enfileiradas nesse hub de eventos. Os editores habilitam o controle de acesso detalhado.

Cada cliente dos Hubs de Eventos recebe um token exclusivo que é carregado para o cliente. Um cliente que contém um token pode enviar apenas para um editor específico e para nenhum outro. Se vários clientes compartilharem o mesmo token, cada um deles compartilhará o editor.

Todos os tokens são atribuídos com chaves de assinatura de acesso compartilhado. Normalmente, todos os tokens são assinados com a mesma chave. Os clientes não reconhecem a chave, o que os impede de fabricar tokens. Os clientes operam nos mesmos tokens até expirarem.

Autorizar o acesso aos consumidores dos Hubs de Eventos com assinaturas de acesso compartilhado

Para autenticar aplicativos de back-end que consomem dos dados gerados por produtores de Hubs de Eventos, a autenticação de token dos Hubs de Eventos exige que os direitos de gerenciar ou os privilégios de escutar estejam atribuídos ao namespace dos Hubs de Eventos ou ao tópico ou instância dos Hubs de Eventos dos respectivos clientes. Os dados são consumidos dos Hubs de Eventos usando grupos de consumidores. Embora a política de SAS forneça o escopo granular, esse escopo é definido somente no nível da entidade e não no nível do consumidor. Isso significa que os privilégios definidos no nível do namespace ou na instância ou no nível do tópico do hub de eventos são aplicados aos grupos de consumidores dessa entidade.