Configurer le protocole TLS (Transport Layer Security) pour une application cliente Event Hubs

Pour des raisons de sécurité, un espace de noms Azure Event Hubs peut exiger que les clients utilisent une version minimale de TLS (Transport Layer Security) pour envoyer des demandes. Les appels à Azure Event Hubs échouent si le client utilise une version de TLS inférieure à la version minimale requise. Par exemple, si un espace de noms nécessite TLS 1.2, une demande envoyée par un client qui utilise TLS 1.1 échoue.

Cet article explique comment configurer une application cliente pour qu’elle utilise une version particulière de TLS. Pour plus d’informations sur la configuration d’une version minimale requise de TLS pour un espace de noms Azure Event Hubs, consultez Appliquer une version minimale requise de Transport Layer Security (TLS) pour les demandes adressées à un espace de noms Event Hubs.

Configurer la version TLS du client

Pour qu’un client envoie une demande avec une version particulière de TLS, le système d’exploitation doit prendre en charge cette version.

L'exemple suivant montre comment définir la version TLS du client sur 1.2 à partir de .NET. Le .NET Framework utilisé par le client doit prendre en charge TLS 1.2. Pour plus d’informations, consultez Prise en charge de TLS 1.2.

L'exemple suivant montre comment activer TLS 1.2 dans un client .NET utilisant la bibliothèque client Azure.Messaging.ServiceBus d'Event Hubs :

{
    // Enable TLS 1.2 before connecting to Event Hubs
    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

    // Connection string to your Event Hubs namespace
    string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // Name of your Event Hub
    string eventHubName = "<EVENT HUB NAME>";
    
    // The sender used to publish messages to the queue
    var producer = new EventHubProducerClient(connectionString, eventHubName);
    
    // Use the producer client to send a message to the Event Hubs queue
    using EventDataBatch eventBatch = await producer.CreateBatchAsync();
    var eventData = new EventData("This is an event body");

    if (!eventBatch.TryAdd(eventData))
    {
        throw new Exception($"The event could not be added.");
    }
}

Vérifier la version de TLS utilisée par un client

Pour vérifier que la version spécifiée de TLS a été utilisée par le client pour envoyer une demande, vous pouvez utiliser Fiddler ou un outil similaire. Ouvrez Fiddler pour commencer à capturer le trafic réseau du client, puis exécutez l’un des exemples de la section précédente. Examinez la trace Fiddler pour vérifier que la version correcte de TLS a été utilisée pour envoyer la demande.

Étapes suivantes

Pour plus d’informations, consultez la documentation suivante.