Configuración de la versión mínima de TLS para un espacio de nombres de Event Hubs

Los espacios de nombre de Azure Event Hubs permiten a los clientes enviar y recibir datos con la versión 1.0 de TLS y con versiones posteriores. Para aplicar medidas de seguridad más estrictas, puede configurar el espacio de nombres de Event Hubs para que los clientes deban enviar y recibir datos con una versión más reciente de TLS. Si el espacio de nombres de Event Hubs requiere una versión mínima de TLS, se producirá un error en todas las solicitudes realizadas con una versión anterior. Para obtener más información sobre esta función, 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.

Puede configurar la versión mínima de TLS mediante Azure Portal o la plantilla de Azure Resource Manager (ARM).

Especificación de la versión mínima de TLS en Azure Portal

Puede especificar la versión mínima de TLS al crear un espacio de nombres de Event Hubs en Azure Portal en la pestaña Opciones avanzadas.

Captura de pantalla en la que se muestra la página para establecer la versión de TLS mínima al crear un espacio de nombres.

También puede especificar la versión mínima de TLS para un espacio de nombres existente en la página Configuración.

Captura de pantalla en la que se muestra la página para establecer la versión de TLS mínima para un espacio de nombres existente.

Creación de una plantilla para configurar la versión mínima de TLS

A fin de configurar la versión mínima de TLS para un espacio de nombres de Event Hubs con una plantilla, cree una plantilla con la propiedad MinimumTlsVersion establecida en 1.0, 1.1 o 1.2. Al crear un espacio de nombres de Event Hubs con una plantilla de Azure Resource Manager, la propiedad MinimumTlsVersion se establece en 1.2 de manera predeterminada, a menos que se establezca explícitamente en otra versión.

Nota

Los espacios de nombres creados con una versión de API anterior a la 2022-01-01-preview tendrán 1.0 como valor de MinimumTlsVersion. Este comportamiento era el valor predeterminado anterior y sigue existiendo para la compatibilidad con versiones anteriores.

En los siguientes pasos se muestra cómo crear una plantilla en Azure Portal.

  1. En Azure Portal, elija Crear un recurso.

  2. En Buscar en el Marketplace, escriba implementación personalizada y, después, presione ENTRAR.

  3. Elija Implementación personalizada (implementar mediante plantillas personalizadas) (versión preliminar), seleccione Crear y, a continuación, elija Cree su propia plantilla en el editor.

  4. En el editor de plantillas, pegue el siguiente código JSON para crear un nuevo espacio de nombres y establecer la versión mínima de TLS en TLS 1.2. No olvide reemplazar los valores de los marcadores de posición entre corchetes angulares con sus propios valores.

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {},
        "variables": {
            "eventHubNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]"
        },
        "resources": [
            {
            "name": "[variables('eventHubNamespaceName')]",
            "type": "Microsoft.EventHub/namespaces",
            "apiVersion": "2022-01-01-preview",
            "location": "westeurope",
            "properties": {
                "minimumTlsVersion": "1.2"
            },
            "dependsOn": [],
            "tags": {}
            }
        ]
    }
    
  5. Guarde la plantilla.

  6. Especifique el parámetro del grupo de recursos y, a continuación, pulse el botón Revisar y crear para implementar la plantilla y crear un espacio de nombres con la propiedad MinimumTlsVersion configurada.

Nota

Después de actualizar la versión mínima de TLS para el espacio de nombres de Event Hubs, el cambio puede tardar hasta 30 segundos en propagarse por completo.

La configuración de la versión mínima de TLS requiere la versión de API 2022-01-01-preview o una posterior del proveedor de recursos de Azure Event Hubs.

Comprobación de la versión mínima de TLS requerida para un espacio de nombres

Para comprobar la versión mínima de TLS requerida para el espacio de nombres de Event Hubs, puede consultar la API de Azure Resource Manager. Va a necesitar un token de portador para consultar en la API, que puede recuperar mediante la aplicación ARMClient si ejecuta los siguientes comandos.

.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>

Una vez que tenga el token de portador, puede usar el siguiente script en combinación con algo como el cliente REST para consultar la API.

@token = Bearer <Token received from ARMClient>
@subscription = <your-subscription-id>
@resourceGroup = <your-resource-group-name>
@namespaceName = <your-namespace-name>

###
GET https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/Microsoft.EventHub/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}

La respuesta debe tener un aspecto similar al siguiente, con el valor minimumTlsVersion establecido en las propiedades.

{
  "sku": {
    "name": "Premium",
    "tier": "Premium",
    "capacity": 1
  },
  "id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.EventHub/namespaces/<your-namespace-name>",
  "name": "<your-namespace-name>",
  "type": "Microsoft.EventHub/Namespaces",
  "location": "West Europe",
  "properties": {
    "minimumTlsVersion": "1.2",
    "publicNetworkAccess": "Enabled",
    "disableLocalAuth": false,
    "zoneRedundant": true,
    "isAutoInflateEnabled": false,
    "maximumThroughputUnits": 0,
    "kafkaEnabled": true,
    "provisioningState": "Succeeded",
    "status": "Active"
  }
}

Prueba de la versión mínima de TLS desde un cliente

Para probar que la versión mínima de TLS necesaria para un espacio de nombres de Event Hubs impida las llamadas realizadas con una versión anterior, puede configurar un cliente para que use una versión anterior de TLS. Para obtener más información acerca de cómo configurar un cliente para que use una versión específica de TLS, consulte Configuración de la Seguridad de la capa de transporte (TLS) para una aplicación cliente.

Cuando un cliente acceda a un espacio de nombres de Event Hubs mediante una versión de TLS que no cumpla con la versión mínima de TLS configurada para el espacio de nombres, Azure Event Hubs devuelve el código de error 401 (No autorizado) y un mensaje que indica que la versión de TLS que se usó no está permitida para realizar solicitudes en este espacio de nombres de Event Hubs.

Nota

Debido a las limitaciones de la biblioteca de Confluent, los errores procedentes de una versión de TLS no válida no aparecerán al conectarse a través del protocolo Kafka. En su lugar, se mostrará una excepción general.

Nota

Al configurar una versión mínima de TLS para un espacio de nombres de Event Hubs, esa versión mínima se aplica en la capa de aplicación. Las herramientas que intentan determinar la compatibilidad de TLS en la capa de protocolo pueden devolver versiones de TLS además de la versión mínima necesaria cuando se ejecutan directamente en el punto de conexión del espacio de nombres de Event Hubs.

Pasos siguientes

Para obtener más información, consulte los siguientes artículos.