Configurer la version TLS minimale pour un espace de noms Event Hubs

Les espaces de noms Azure Event Hubs permettent aux clients d’envoyer et de recevoir des données avec TLS 1.0 et versions ultérieures. Pour appliquer des mesures de sécurité plus strictes, vous pouvez configurer votre espace de noms Event Hubs afin d’exiger que les clients envoient et reçoivent des données avec une version plus récente du protocole TLS. Si un espace de noms Event Hubs nécessite une version minimale du protocole TLS, les demandes effectuées avec une version antérieure échouent. Pour obtenir des informations conceptuelles sur cette fonctionnalité, consultez Appliquer une version minimale requise du protocole TLS (Transport Layer Security) pour des demandes adressées à un espace de noms Event Hubs.

Vous pouvez configurer la version TLS minimale à l’aide du portail Azure ou du modèle Azure Resource Manager (ARM).

Spécifier la version TLS minimale dans le portail Azure

Vous pouvez spécifier la version TLS minimale lors de la création d’un espace de noms Event Hubs dans le portail Azure sous l’onglet Avancé.

Capture d’écran montrant la page permettant de définir la version TLS minimale lors de la création d’un espace de noms.

Vous pouvez également spécifier la version TLS minimale d’un espace de noms existant dans la page Configuration.

Capture d’écran montrant la page permettant de définir la version TLS minimale pour un espace de noms existant.

Créer un modèle pour configurer la version TLS minimale

Pour configurer la version minimale de TLS pour un espace de noms Event Hubs avec un modèle, créez un modèle avec la propriété MinimumTlsVersion définie sur 1.0, 1.1, ou 1.2. Lorsque vous créez un espace de noms Event Hubs avec un modèle Azure Resource Manager, la propriété MinimumTlsVersion est définie sur 1.2 par défaut, sauf si elle est définie explicitement sur une autre version.

Notes

Les espaces de noms créés à l’aide d’une version d’API antérieure à 2022-01-01-preview auront la valeur 1.0 pour MinimumTlsVersion. Ce comportement était celui par défaut précédemment et est toujours là à des fins de compatibilité descendante.

Les étapes suivantes montrent comment créer un modèle dans le Portail Azure.

  1. Dans le Portail Azure, choisissez Créer une ressource.

  2. Dans Rechercher dans la Place de marché, tapez déploiement personnalisé, puis appuyez sur Entrée.

  3. Choisissez Déploiement personnalisé (déployer avec des modèles personnalisés) [préversion], Créer, puis Créer votre propre modèle dans l’éditeur.

  4. Dans l’éditeur de modèle, collez le code JSON suivant pour créer un nouvel espace de noms et définissez la version minimale de TLS sur TLS 1.2. N’oubliez pas de remplacer les espaces réservés entre crochets par vos propres valeurs.

    {
        "$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. Enregistrez le modèle.

  6. Spécifiez un paramètre de groupe de ressources, puis choisissez le bouton Vérifier + créer pour déployer le modèle et créer un espace de noms avec la propriété MinimumTlsVersion configurée.

Notes

Une fois la version minimale de TLS mise à jour pour l’espace de noms Event Hubs, la propagation de la modification peut prendre jusqu’à 30 secondes.

La configuration de la version minimale de TLS nécessite la version d’API 2022-01-01-preview ou une version ultérieure du fournisseur de ressources Azure Event Hubs.

Vérifier la version minimale de TLS requise pour un espace de noms

Pour vérifier la version TLS minimale requise pour votre espace de noms Event Hubs, vous pouvez interroger l’API Azure Resource Manager. Vous aurez besoin d’un jeton du porteur pour effectuer une requête sur l’API, que vous pouvez récupérer à l’aide de l’application ARMClient en exécutant les commandes suivantes.

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

Une fois que vous disposez de votre jeton du porteur, vous pouvez utiliser le script ci-dessous en combinaison avec un outil comme le client REST pour interroger l’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 réponse doit ressembler à ce qui suit, avec minimumTlsVersion défini dans les propriétés.

{
  "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"
  }
}

Tester la version de TLS minimale à partir d’un client

Pour vérifier que la version minimale de TLS requise pour un espace de noms Event Hubs interdit les appels effectués avec une version antérieure, vous pouvez configurer un client afin qu’il utilise une version antérieure de TLS. Pour plus d’informations sur la configuration d’un client afin qu’il utilise une version spécifique de TLS, consultez Configurer le protocole TLS (Transport Layer Security) pour une application cliente.

Quand un client accède à un espace de noms Event Hubs à l’aide d’une version TLS qui ne correspond pas à la version de TLS minimale configurée pour le compte, Azure Event Hubs retourne le code d’erreur 401 (demande incorrecte) et un message indiquant que la version de TLS utilisée n’est pas autorisée pour effectuer des demandes sur cet espace de noms Event Hubs.

Notes

En raison des limitations de la bibliothèque, les erreurs provenant d’une version TLS non valide ne s’affichent pas lors de la connexion via le protocole Kafka. Au lieu de cela, une exception générale s’affiche.

Notes

Lorsque vous configurez une version TLS minimale pour un espace de noms Event Hubs, cette version minimale est appliquée au niveau de l’application. Les outils qui tentent de déterminer la prise en charge du protocole TLS au niveau de la couche de protocole peuvent renvoyer les versions du protocole TLS en plus de la version minimale requise quand elles s’exécutent directement sur le point de terminaison de l’espace de noms Event Hubs.

Étapes suivantes

Pour plus d'informations, consultez les articles suivants.