Configuración de Seguridad de la capa de transporte (TLS) para una aplicación cliente de Event Hubs

Por motivos de seguridad, las cuentas de Azure Event Hubs pueden exigir a los clientes que usen una versión mínima de Seguridad de la capa de transporte (TLS) para enviar solicitudes. Si el cliente usa una versión de TLS inferior a la versión mínima necesaria, se producirá un error en las llamadas a Azure Event Hubs. Por ejemplo, si una espacio de nombres requiere TLS 1.2, las solicitudes enviadas por un cliente que use TLS 1.1 generarán un error.

En este artículo se describe cómo configurar una aplicación cliente para usar una versión determinada de TLS. Para obtener información sobre cómo configurar una versión mínima necesaria de TLS para un espacio de nombres de Azure Event Hubs, consulte Aplicación de una versión mínima necesaria de Seguridad de la capa de transporte (TLS) para las solicitudes a un espacio de nombres de Event Hubs.

Configuración de la versión de TLS del cliente

Para que un cliente envíe una solicitud con una versión determinada de TLS, el sistema operativo debe ser compatible con esa versión.

En el siguiente ejemplo se muestra cómo establecer la versión de TLS del cliente en la 1.2 desde .NET. La versión de .NET Framework que utiliza el cliente debe admitir TLS 1.2. Para más información, consulte Compatibilidad con TLS 1.2.

En el ejemplo siguiente se muestra cómo habilitar TLS 1.2 en un cliente .NET con la biblioteca cliente Azure.Messaging.ServiceBus de 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.");
    }
}

Comprobación de la versión de TLS utilizada por un cliente

Para comprobar que el cliente usó la versión especificada de TLS para enviar una solicitud, puede usar Fiddler o una herramienta similar. Abra Fiddler para empezar a capturar el tráfico de red del cliente y, luego, ejecute uno de los ejemplos de la sección anterior. Examine el seguimiento de Fiddler para confirmar que se usó la versión correcta de TLS para enviar la solicitud.

Pasos siguientes

Para más información, consulte la siguiente documentación.