Autenticación de la entrega de eventos en los controladores de eventos (Azure Event Grid).

En este artículo se proporciona información sobre cómo autenticar la entrega de eventos a los controladores de eventos.

Información general

Azure Event Grid utiliza diferentes métodos de autenticación para entregar eventos a controladores de eventos. `

Método de autenticación Controladores de evento admitidos Descripción
Clave de acceso - Event Hubs
- Service Bus
- Colas de almacenamiento
- Retransmisión de conexiones híbridas
- Azure Functions
Storage Blobs (Deadletter)
Las claves de acceso se capturan con las credenciales de la entidad de servicio de Event Grid. Los permisos se conceden a Event Grid al registrar el proveedor de recursos de Event Grid en su suscripción de Azure.
Identidad de sistema administrado
&
Control de acceso basado en rol
- Event Hubs
- Service Bus
- Colas de almacenamiento
Storage Blobs (Deadletter)
Habilite la identidad del sistema administrado para el tema y agréguela al rol adecuado en el destino. Para obtener más información, consulte Usar identidades asignadas por el sistema para la entrega de eventos.
Autenticación de token de portador con webhook protegido por el identificador de Microsoft Entra webhook Consulte la sección Autenticación de la entrega de eventos a los puntos de conexión de webhook para obtener más información.
Secreto de cliente como parámetro de consulta webhook Consulte la sección Uso del secreto de cliente como parámetro de consulta para obtener más información.

Nota:

Si protege su función de Azure con una aplicación de Microsoft Entra ID, debe adoptar el enfoque genérico de webhook mediante el desencadenador HTTP. Use el punto de conexión de la función de Azure como una dirección URL de webhook al agregar la suscripción.

Usar identidades asignadas por el sistema para la entrega de eventos.

Puede habilitar una identidad administrada asignada por el sistema para un tema o dominio y usar la identidad para reenviar eventos a destinos compatibles, como colas y temas de Service Bus, centros de eventos y cuentas de almacenamiento.

He aquí los pasos:

  1. Cree un tema o un dominio con una identidad asignada por el sistema, o bien actualice un tema o dominio existente para habilitar la identidad. Para obtener más información, consulte Habilitación de la identidad administrada para un tema del sistema o Habilitación de la identidad administrada para un tema personalizado o un dominio
  2. Agregue la identidad a un rol adecuado (por ejemplo, Remitente de los datos de Service Bus) en el destino (por ejemplo, una cola de Service Bus). Para más información, consulte Otorgar a la identidad el acceso al destino de Event Grid
  3. Al crear suscripciones de eventos, habilite el uso de la identidad para enviar eventos al destino. Para obtener más información, consulte Creación de una suscripción de eventos que usa la identidad.

Para obtener instrucciones paso a paso detalladas, consulte Entrega de eventos con una identidad administrada.

Autenticación de la entrega de eventos a los puntos de conexión de webhook

En las secciones siguientes se describe cómo autenticar la entrega de eventos a los puntos de conexión de webhook. Use un mecanismo de protocolo de enlace de validación con independencia del método que use. Consulte Entrega de eventos de webhook para detalles.

Usar Microsoft Entra ID

Puede proteger el punto de conexión de webhook que se usa para recibir eventos de Event Grid mediante Microsoft Entra ID. Tiene que crear una aplicación de Microsoft Entra ID, crear un rol y una entidad de servicio en la aplicación que autorice a Event Grid, y configurar la suscripción de eventos para usar la aplicación de Microsoft Entra ID. Aprenda a configurar Microsoft Entra ID con Event Grid.

Uso del secreto de cliente como parámetro de consulta

Además, puede proteger el punto de conexión del webhook mediante la incorporación de parámetros de consulta a la dirección URL de destino del webhook, especificada como parte de la creación de una suscripción de eventos. Establezca uno de los parámetros de consulta para que sea un secreto de cliente, como un token de acceso o un secreto compartido. El servicio Event Grid incluye todos los parámetros de consulta en cada solicitud de entrega de eventos al webhook. El servicio de webhook puede recuperar y validar el secreto. Si se actualiza el secreto de cliente, también debe actualizarse la suscripción de eventos. Para evitar errores de entrega durante la rotación del secreto, haga que el webhook acepte tanto los secretos antiguos como los nuevos durante un plazo limitado antes de actualizar la suscripción de eventos con el nuevo secreto.

Como los parámetros de consulta pueden contener secretos de cliente, se controlan con más cuidado. Se almacenan como cifrados y no son accesibles para los operadores del servicio. No se registran como parte de los registros o seguimientos de servicio. Al recuperar las propiedades de la suscripción de eventos, los parámetros de la consulta de destino no se devuelven de forma predeterminada. Por ejemplo: el parámetro --include-full-endpoint-url se usará en la CLI de Azure.

Para más información sobre cómo entregar eventos a webhooks, consulte Entrega de eventos de webhook.

Importante

Azure Event Grid solo admite puntos de conexión de webhook HTTPS.

Validación de puntos de conexión con CloudEvents v1.0

Si ya está familiarizado con Event Grid, es posible que conozca el protocolo de enlace de validación de punto de conexión para evitar el uso inapropiado. CloudEvents v1.0 implementa su propia semántica de protección contra abusos mediante el método HTTP OPTIONS. Para más información al respecto, consulte Webhooks de HTTP 1.1 para la entrega de eventos: versión 1.0. Cuando usa el esquema de CloudEvents para la salida, Event Grid usa la protección contra abusos de CloudEvents v1.0 en lugar del mecanismo de eventos de validación de Event Grid. Para obtener más información, vea Uso del esquema CloudEvents v1.0 con Event Grid.

Pasos siguientes

Consulte autenticación de publicación de clientes para obtener información sobre la autenticación de clientes que publican eventos en temas o dominios.