Configurer la version TLS minimale pour un espace de noms Service Bus

Les espaces de noms Azure Service Bus 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 Service Bus 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 Service Bus 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 Service Bus.

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

Avertissement

À compter du 28 octobre 2025, TLS 1.0 et TLS 1.1 ne seront plus pris en charge sur Azure Service Bus. La version minimale de TLS sera 1.2 pour tous les déploiements Service Bus.

Important

Le 31 octobre 2024, TLS 1.3 va être activé pour le trafic AMQP. TLS 1.3 est déjà activé pour le trafic HTTPS. Les clients Java peuvent rencontrer un problème avec le protocole TLS 1.3 en raison d’une dépendance vis-à-vis d’une version antérieure de Proton-J. Pour plus d’informations, consultez les modifications du client Java pour prendre en charge TLS 1.3 avec Azure Service Bus et Azure Event Hubs

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 Service Bus 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.

Utiliser l’interface de ligne de commande Microsoft Azure

Pour créer un espace de noms avec la version TLS minimale définie sur 1.2, utilisez la commande az servicebus namespace create avec la valeur --min-tls définie sur 1.2.

az servicebus namespace create \
    --name mynamespace \
    --resource-group myresourcegroup \
    --min-tls 1.2

Utilisation d'Azure PowerShell

Pour créer un espace de noms avec la version TLS minimale définie sur 1.2, utilisez la commande New-AzServiceBusNamespace avec la valeur -MinimumTlsVersion définie sur 1.2.

New-AzServiceBusNamespace `
    -ResourceGroup myresourcegroup `
    -Name mynamespace `
    -MinimumTlsVersion 1.2

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

Pour configurer la version TLS minimale pour un espace de noms Service Bus, définissez la propriété de version MinimumTlsVersion sur 1.0, 1.1 ou 1.2. Lorsque vous créez un espace de noms Service Bus 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": {
            "serviceBusNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]"
        },
        "resources": [
            {
            "name": "[variables('serviceBusNamespaceName')]",
            "type": "Microsoft.ServiceBus/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 Service Bus, 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 Service Bus.

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

Pour vérifier la version minimale de TLS requise pour votre espace de noms Service Bus, 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 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.ServiceBus/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"
  },
  "id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.ServiceBus/namespaces/<your-namespace-name>",
  "name": "<your-namespace-name>",
  "type": "Microsoft.ServiceBus/Namespaces",
  "location": "West Europe",
  "tags": {},
  "properties": {
    "minimumTlsVersion": "1.2",
    "publicNetworkAccess": "Enabled",
    "disableLocalAuth": false,
    "zoneRedundant": false,
    "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 Service Bus 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 Service Bus à l’aide d’une version TLS qui ne correspond pas à la version de TLS minimale configurée pour le compte, Azure Service Bus 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 Service Bus.

Notes

Lorsque vous configurez une version TLS minimale pour un espace de noms Service Bus, 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 Service Bus.

Étapes suivantes

Pour plus d’informations, consultez la documentation suivante.