Authentifier la remise des événements aux gestionnaires d’événements (Azure Event Grid)Authenticate event delivery to event handlers (Azure Event Grid)

Cet article fournit des informations sur l’authentification de la remise d’événements auprès de gestionnaires d’événements.This article provides information on authenticating event delivery to event handlers. Il vous montre également comment sécuriser les points de terminaison webhook utilisés pour recevoir des événements d’Event Grid à l’aide d’Azure Active Directory (Azure AD) ou d’un secret partagé.It also shows how to secure the webhook endpoints that are used to receive events from Event Grid using Azure Active Directory (Azure AD) or a shared secret.

Utiliser des identités attribuées par le système pour la remise d’événementsUse system-assigned identities for event delivery

Vous pouvez activer une identité gérée attribuée par le système pour une rubrique ou un domaine et utiliser cette identité pour transférer des événements vers des destinations prises en charge, comme les files d’attente et les rubriques Service Bus, les concentrateurs d’événements et les comptes de stockage.You can enable a system-assigned managed identity for a topic or domain and use the identity to forward events to supported destinations such as Service Bus queues and topics, event hubs, and storage accounts.

Voici la procédure à suivre :Here are the steps:

  1. Créer une rubrique ou un domaine avec une identité affectée par le système, ou mettre à jour une rubrique ou un domaine existants pour activer une identité.Create a topic or domain with a system-assigned identity, or update an existing topic or domain to enable identity.
  2. Ajouter l’identité à un rôle approprié (par exemple, expéditeur de données Service Bus) sur la destination (par exemple, une file d’attente Service Bus).Add the identity to an appropriate role (for example, Service Bus Data Sender) on the destination (for example, a Service Bus queue).
  3. Lors de la création d’abonnements à des événements, activer l’utilisation de l’identité pour remettre des événements à la destination.When you create event subscriptions, enable the usage of the identity to deliver events to the destination.

Pour obtenir des instructions pas à pas détaillées, consultez Remise d’événements avec une identité gérée.For detailed step-by-step instructions, see Event delivery with a managed identity.

Authentifier la remise des événements aux points de terminaison webhookAuthenticate event delivery to webhook endpoints

Les sections suivantes décrivent comment authentifier la remise d’événements aux points de terminaison webhook.The following sections describe how to authenticate event delivery to webhook endpoints. L’emploi d’un mécanisme de négociation de validation est obligatoire, quelle que soit la méthode que vous utilisez.You need to use a validation handshake mechanism irrespective of the method you use. Pour plus d’informations, consultez Remise d’événements webhook.See Webhook event delivery for details.

Utilisation d’Azure Active Directory (Azure AD)Using Azure Active Directory (Azure AD)

Vous pouvez sécuriser le point de terminaison webhook utilisé pour recevoir des événements d’Event Grid à l’aide d’Azure AD.You can secure the webhook endpoint that's used to receive events from Event Grid by using Azure AD. Vous devez créer une application Azure AD, créer un rôle et un principal de service dans votre application qui autorisent Event Grid, et configurer l’abonnement à un événement pour utiliser l’application Azure AD.You'll need to create an Azure AD application, create a role and service principal in your application authorizing Event Grid, and configure the event subscription to use the Azure AD application. Découvrez comment Configurer Azure Active Directory avec Event Grid.Learn how to Configure Azure Active Directory with Event Grid.

Utilisation d’un secret client comme paramètre de requêteUsing client secret as a query parameter

Vous pouvez également sécuriser votre point de terminaison webhook en ajoutant des paramètres de requête à l’URL de destination webhook spécifiée lors de la création d’un abonnement à un événement.You can also secure your webhook endpoint by adding query parameters to the webhook destination URL specified as part of creating an Event Subscription. Définissez l’un des paramètres de requête en tant que clé secrète client, par exemple un jeton d’accès ou un secret partagé.Set one of the query parameters to be a client secret such as an access token or a shared secret. Le service Event Grid inclut tous les paramètres de requête dans chaque demande de remise d’événement au webhook.Event Grid service includes all the query parameters in every event delivery request to the webhook. Le service webhook peut récupérer et valider le secret.The webhook service can retrieve and validate the secret. Si le secret client est mis à jour, l’abonnement aux événements doit également être mis à jour.If the client secret is updated, event subscription also needs to be updated. Pour éviter les échecs de remise pendant cette rotation de secret, faites en sorte que le webhook accepte l’ancien et le nouveau secrets pendant une durée limitée avant de mettre à jour l’abonnement à l’événement avec le nouveau secret.To avoid delivery failures during this secret rotation, make the webhook accept both old and new secrets for a limited duration before updating the event subscription with the new secret.

Comme les paramètres de requête peuvent contenir des secrets clients, ils doivent être utilisés avec une prudence particulière.As query parameters could contain client secrets, they are handled with extra care. Ils sont stockés sous forme chiffrée hors de portée des opérateurs de service.They are stored as encrypted and are not accessible to service operators. Ils ne sont pas enregistrés dans les journaux/traces de service.They are not logged as part of the service logs/traces. Lors de la récupération des propriétés de l’abonnement à l’événement, par défaut, les paramètres de requête de destination ne sont pas retournés.When retrieving the Event Subscription properties, destination query parameters aren't returned by default. Par exemple, le paramètre --include-full-endpoint-url doit être utilisé dans Azure CLI.For example: --include-full-endpoint-url parameter is to be used in Azure CLI.

Pour plus d’informations sur la remise d’événements à des webhooks, consultez Remise d’événements webhookFor more information on delivering events to webhooks, see Webhook event delivery

Important

Azure Event Grid ne prend en charge que les points de terminaison webhook HTTPS.Azure Event Grid only supports HTTPS webhook endpoints.

Validation de point de terminaison avec CloudEvents v1.0Endpoint validation with CloudEvents v1.0

Si vous êtes déjà familiarisé avec Event Grid, vous pouvez être conscient de l’établissement d'une liaison de validation de point de terminaison pour empêcher les abus.If you're already familiar with Event Grid, you might be aware of the endpoint validation handshake for preventing abuse. CloudEvents v1.0 implémente sa propre sémantique de protection contre les abus à l’aide de la méthode HTTP OPTIONS.CloudEvents v1.0 implements its own abuse protection semantics by using the HTTP OPTIONS method. Pour en savoir plus à ce sujet, consultez Webhooks HTTP 1.1 pour la remise d’événements (version 1.0).To read more about it, see HTTP 1.1 Web Hooks for event delivery - Version 1.0. Lorsque vous utilisez le schéma CloudEvents pour la sortie, Event Grid l’utilise avec la protection contre les abus CloudEvents v1.0 à la place du mécanisme d’événement de validation Event Grid.When you use the CloudEvents schema for output, Event Grid uses the CloudEvents v1.0 abuse protection in place of the Event Grid validation event mechanism. Pour plus d’informations, consultez Utiliser le schéma CloudEvents v1.0 avec Event Grid.For more information, see Use CloudEvents v1.0 schema with Event Grid.

Étapes suivantesNext steps

Consultez Authentifier les clients de publication pour en savoir plus sur l’authentification des événements de publication des clients dans des rubriques ou des domaines.See Authenticate publishing clients to learn about authenticating clients publishing events to topics or domains.