Autenticar a entrega de eventos para manipuladores de eventos (Grade de Eventos do Azure)
Este artigo fornece informações sobre como autenticar a entrega de eventos para manipuladores de eventos.
Descrição geral
A Grade de Eventos do Azure usa métodos de autenticação diferentes para entregar eventos a manipuladores de eventos. `
Método de autenticação | Manipuladores de eventos suportados | Description |
---|---|---|
Chave de acesso | - Hubs de Eventos - Barramento de Serviço - Filas de armazenamento - Conexões híbridas de relé - Azure Functions - Blobs de armazenamento (Deadletter) |
As chaves de acesso são obtidas usando as credenciais da entidade de serviço da Grade de Eventos. As permissões são concedidas à Grade de Eventos quando você registra o provedor de recursos da Grade de Eventos em sua assinatura do Azure. |
Identidade do sistema gerenciado & Controlo de acesso baseado em funções |
- Hubs de Eventos - Barramento de Serviço - Filas de armazenamento - Blobs de armazenamento (Deadletter) |
Habilite a identidade do sistema gerenciado para o tópico e adicione-a à função apropriada no destino. Para obter detalhes, consulte Usar identidades atribuídas pelo sistema para entrega de eventos. |
Autenticação de token de portador com webhook protegido pelo Microsoft Entra | Webhook | Consulte a seção Autenticar entrega de eventos em pontos de extremidade de webhook para obter detalhes. |
Segredo do cliente como parâmetro de consulta | Webhook | Consulte a seção Usando segredo do cliente como parâmetro de consulta para obter detalhes. |
Nota
Se você proteger sua função do Azure com um aplicativo Microsoft Entra, terá que adotar a abordagem de webhook genérica usando o gatilho HTTP. Use o ponto de extremidade da função do Azure como uma URL de webhook ao adicionar a assinatura.
Usar identidades atribuídas pelo sistema para entrega de eventos
Você pode habilitar uma identidade gerenciada atribuída ao sistema para um tópico ou domínio e usar a identidade para encaminhar eventos para destinos suportados, como filas e tópicos do Service Bus, hubs de eventos e contas de armazenamento.
Eis os passos:
- Crie um tópico ou domínio com uma identidade atribuída pelo sistema ou atualize um tópico ou domínio existente para habilitar a identidade. Para obter mais informações, consulte Habilitar identidade gerenciada para um tópico do sistema ou Habilitar identidade gerenciada para um tópico personalizado ou um domínio
- Adicione a identidade a uma função apropriada (por exemplo, Remetente de Dados do Barramento de Serviço) no destino (por exemplo, uma fila do Barramento de Serviço). Para obter mais informações, consulte Conceder identidade ao destino da grade de eventos
- Ao criar assinaturas de eventos, habilite o uso da identidade para entregar eventos ao destino. Para obter mais informações, consulte Criar uma assinatura de evento que usa a identidade.
Para obter instruções passo a passo detalhadas, consulte Entrega de eventos com uma identidade gerenciada.
Autenticar a entrega de eventos em pontos de extremidade webhook
As seções a seguir descrevem como autenticar a entrega de eventos em pontos de extremidade webhook. Use um mecanismo de handshake de validação, independentemente do método usado. Consulte Entrega de eventos Webhook para obter detalhes.
Usando o Microsoft Entra ID
Você pode proteger o ponto de extremidade do webhook usado para receber eventos da Grade de Eventos usando a ID do Microsoft Entra. Você precisa criar um aplicativo Microsoft Entra, criar uma função e uma entidade de serviço em seu aplicativo autorizando a Grade de Eventos e configurar a assinatura de evento para usar o aplicativo Microsoft Entra. Saiba como configurar a ID do Microsoft Entra com a Grade de Eventos.
Usando o segredo do cliente como um parâmetro de consulta
Você também pode proteger seu ponto de extremidade do webhook adicionando parâmetros de consulta à URL de destino do webhook especificada como parte da criação de uma Assinatura de Evento. Defina um dos parâmetros de consulta como um segredo do cliente, como um token de acesso ou um segredo compartilhado. O serviço de Grade de Eventos inclui todos os parâmetros de consulta em cada solicitação de entrega de evento para o webhook. O serviço webhook pode recuperar e validar o segredo. Se o segredo do cliente for atualizado, a assinatura do evento também precisará ser atualizada. Para evitar falhas de entrega durante essa rotação secreta, faça com que o webhook aceite segredos antigos e novos por um período limitado antes de atualizar a assinatura do evento com o novo segredo.
Como os parâmetros de consulta podem conter segredos do cliente, eles são tratados com cuidado extra. Eles são armazenados como criptografados e não são acessíveis aos operadores de serviços. Eles não são registrados como parte dos logs/rastreamentos de serviço. Ao recuperar as propriedades da Assinatura de Eventos, os parâmetros de consulta de destino não são retornados por padrão. Por exemplo: --include-full-endpoint-url parâmetro deve ser usado na CLI do Azure.
Para obter mais informações sobre como entregar eventos para webhooks, consulte Entrega de eventos Webhook
Importante
A Grade de Eventos do Azure dá suporte apenas a pontos de extremidade de webhook HTTPS.
Validação de endpoint com CloudEvents v1.0
Se você já estiver familiarizado com a Grade de Eventos, talvez esteja ciente do handshake de validação do ponto de extremidade para evitar abusos. O CloudEvents v1.0 implementa sua própria semântica de proteção contra abuso usando o método HTTP OPTIONS . Para ler mais sobre isso, consulte HTTP 1.1 Web Hooks para entrega de eventos - Versão 1.0. Quando você usa o esquema CloudEvents para saída, a Grade de Eventos usa a proteção contra abuso do CloudEvents v1.0 no lugar do mecanismo de eventos de validação da Grade de Eventos. Para obter mais informações, consulte Usar o esquema do CloudEvents v1.0 com a grade de eventos.
Próximos passos
Consulte Autenticar clientes de publicação para saber mais sobre como autenticar clientes que publicam eventos em tópicos ou domínios.