Autoriser l’accès à un espace de noms Azure Service Bus à partir d’adresses ou de plages d’adresses IP spécifiques

Par défaut, les espaces de noms Service Bus sont accessibles à partir d’Internet tant que la demande contient une authentification et une autorisation valides. Avec le pare-feu IP, le trafic entrant peut être limité à un ensemble d’adresses IPv4 ou de plages d’adresses IPv4 dans la notation CIDR (Classless InterDomain Routing).

Cette fonctionnalité est utile dans les scénarios où Azure Service Bus ne doit être accessible qu’à partir de certains sites bien connus. Les règles de pare-feu permettent de configurer des règles pour accepter le trafic provenant d’adresses IPv4 spécifiques. Par exemple, si vous utilisez Service Bus avec Azure ExpressRoute, vous pouvez créer une règle de pare-feu pour autoriser uniquement le trafic provenant d’adresses IP de votre infrastructure locale ou d’adresses d’une passerelle NAT d’entreprise.

Règles de pare-feu IP

Les règles de pare-feu IP sont appliquées au niveau de l’espace de noms Service Bus. Par conséquent, les règles s’appliquent à toutes les connexions de clients utilisant un protocole pris en charge (AMQP (5671) et HTTPS (443)). Toute tentative de connexion à partir d’une adresse IP qui ne correspond pas à une règle IP autorisée dans l’espace de noms Service Bus est rejetée comme étant non autorisée. La réponse ne mentionne pas la règle IP. Les règles de filtre IP sont appliquées dans l’ordre et la première règle qui correspond à l’adresse IP détermine l’action d’acceptation ou de rejet.

Points importants

  • Les réseaux virtuels sont pris en charge uniquement dans le niveau Premium de Service Bus. Si la mise à niveau vers le niveau Premium n’est pas une option, vous pouvez utiliser des règles de pare-feu IP. Nous vous recommandons de conserver le jeton de signature d’accès partagé (SAP) en lieu sûr et de ne le partager qu’avec des utilisateurs autorisés. Pour plus d'informations sur l'authentification SAP, consultez Authentification et autorisation.

  • Spécifiez au moins une règle de pare-feu IP ou une règle de réseau virtuel pour l’espace de noms afin d’autoriser le trafic uniquement à partir des adresses IP ou du sous-réseau d’un réseau virtuel. S’il n’existe aucune règle d’adresse IP et de réseau virtuel, l’espace de noms est accessible via l’Internet public (à l’aide de la clé d’accès).

  • La mise en place de règles de pare-feu peut empêcher d’autres services Azure d’interagir avec Service Bus. En guise d’exception, vous pouvez autoriser l’accès aux ressources Service Bus à partir de certains services approuvés, même lorsque le filtrage IP est activé. Pour obtenir la liste des services approuvés, consultez Services approuvés.

    Les services Microsoft suivants doivent se trouver sur un réseau virtuel

    • Azure App Service
    • Azure Functions

Notes

L’onglet Réseau s’affiche uniquement pour les espaces de noms Premium. Pour définir des règles de pare-feu IP pour les autres niveaux, utilisez les modèles Azure Resource Manager, Azure CLI, PowerShell ou l’API REST.

Utiliser le portail Azure

Lors de la création d’un espace de noms, vous pouvez autoriser l’accès public uniquement (depuis tous les réseaux) ou privé (uniquement via des points de terminaison privés) à l’espace de noms. Une fois l’espace de noms créé, vous pouvez autoriser l’accès depuis des adresses IP spécifiques ou des réseaux virtuels spécifiques (à l’aide de points de terminaison de service réseau).

Configurer l’accès public lors de la création d’un espace de noms

Pour activer l’accès public, sélectionnez Accès public sur la page Mise en réseau de l’Assistant Création d’espace de noms.

Screenshot showing the Networking page of the Create namespace wizard with Public access option selected.

Après avoir créé l’espace de noms, sélectionnez Mise en réseau dans le menu de gauche de la page Espace de noms Service Bus. Vous remarquerez que l’option Tous les réseaux est sélectionnée. Vous pouvez sélectionner l’option Réseaux sélectionnés, puis autoriser l’accès depuis des adresses IP spécifiques ou des réseaux virtuels spécifiques. La section suivante vous donne des informations détaillées sur la configuration du pare-feu IP pour spécifier les adresses IP à partir desquelles l’accès est autorisé.

Configurer le pare-feu IP pour un espace de noms existant

Cette section explique comment utiliser le portail Azure afin de créer des règles de pare-feu IP pour un espace de noms Service Bus.

  1. Accédez à votre espace de noms Service Bus dans le portail Azure.

  2. Dans le menu à gauche, sous Paramètres, sélectionnez l’option Mise en réseau.

    Notes

    L’onglet Réseau s’affiche uniquement pour les espaces de noms Premium.

  3. Dans la page Réseau, pour Accès au réseau public, vous pouvez définir une des trois options suivantes. Choisissez l’option Réseaux sélectionnés pour autoriser l’accès uniquement à partir d’adresses IP spécifiées.

    • Désactivé. Cette option désactive tout accès public à l’espace de noms. L’espace de noms est accessible uniquement via des points de terminaison privés.

      Screenshot that shows the Networking page of a namespace with public access disabled.

      Choisissez si vous souhaitez autoriser des services Microsoft approuvés pour contourner le pare-feu. Pour obtenir la liste des services Microsoft approuvés pour Azure Service Bus, consultez la section Services Microsoft approuvés.

    • Réseaux sélectionnés. Cette option autorise l’accès public à l’espace de noms en utilisant une clé d’accès à partir de réseaux sélectionnés.

      Important

      Si vous choisissez Réseaux sélectionnés, ajoutez au moins une règle de pare-feu IP ou un réseau virtuel qui a accès à l’espace de noms. Choisissez Désactivé pour obliger tout le trafic sur cet espace de noms à passer par des points de terminaison privés uniquement.

    • Tous les réseaux (par défaut). Cette option autorise un accès public à partir de tous les réseaux en utilisant une clé d’accès. Si vous sélectionnez l’option Tous les réseaux, Service Bus accepte les connexions de toutes les adresses IP (à l’aide de la clé d’accès). Ce paramètre est équivalent à une règle qui accepte la plage d’adresses IP 0.0.0.0/0.

  4. Pour autoriser l’accès uniquement à partir d’une adresse IP spécifiée, sélectionnez l’option Réseaux sélectionnés si elle n’est pas déjà sélectionnée. Dans la section Pare-feu, suivez ces étapes :

    1. Sélectionnez l’option Ajouter l’adresse IP de votre client pour permettre à l’adresse IP de votre client actuel d’accéder à l’espace de noms.

    2. Dans Plage d’adresses, entrez une adresse IPv4 ou une plage d’adresses IPv4 spécifique en notation CIDR.

    3. Spécifiez si vous voulez Autoriser les services Microsoft approuvés à contourner ce pare-feu. Pour obtenir la liste des services Microsoft approuvés pour Azure Service Bus, consultez la section Services Microsoft approuvés.

      Avertissement

      Si vous sélectionnez l’option Réseaux sélectionnés et n’ajoutez pas au moins une règle de pare-feu IP ou un réseau virtuel sur cette page, l’espace de noms est accessible via l’Internet public (à l’aide de la clé d’accès).

      Screenshot of the Azure portal Networking page. The option to allow access from Selected networks is selected and the Firewall section is highlighted.

  5. Sélectionnez Enregistrer dans la barre d’outils pour enregistrer les paramètres. Patientez quelques minutes jusqu’à ce que la confirmation s’affiche dans les notifications du portail.

    Notes

    Pour restreindre l’accès à des réseaux virtuels spécifiques, consultez Autoriser l’accès à partir de réseaux spécifiques.

Services Microsoft approuvés

Lorsque vous activez le paramètre Autoriser les services Microsoft approuvés pour contourner ce pare-feu, les services suivants sont autorisés à accéder à vos ressources Service Bus.

Service approuvé Scénarios d’utilisation pris en charge
Azure Event Grid Autorise Azure Event Grid à envoyer des événements vers les files d’attente ou les rubriques dans votre espace de noms Service Bus. Vous devez également procéder comme suit :
  • Activer une identité attribuée par le système pour un sujet ou un domaine
  • Ajouter l’identité au rôle d’expéditeur de données Azure Service Bus sur l’espace de noms Service Bus
  • Ensuite, configurez l’abonnement aux événements qui utilise une file d’attente ou une rubrique Service Bus comme point de terminaison pour utiliser l’identité affectée au système.

Pour plus d’informations, consultez Remise d’événement avec une identité managée

Azure Stream Analytics Permet à un travail Azure Stream Analytics de générer des données dans des files d’attente Service Bus vers des sujets.

Important : Le travail Stream Analytics doit être configuré de manière à utiliser une identité managée pour accéder à l’espace de noms Service Bus. Ajoutez l’identité au rôle Expéditeur de données Azure Service Bus dans l’espace de noms Service Bus.

Azure IoT Hub Permet à un hub IoT d’envoyer des messages à des files d’attente ou à des rubriques dans votre espace de noms Service Bus. Vous devez également procéder comme suit :
Gestion des API Azure

Le service API Management vous permet d'envoyer des messages à une file d'attente/rubrique Service Bus de votre espace de noms Service Bus.

Azure IoT Central

Autorise IoT Central à exporter des données vers des files d’attente ou rubriques Service Bus dans votre espace de noms Service Bus. Vous devez également procéder comme suit :

Azure Digital Twins Permet à Azure Digital Twins de transférer des données vers des sujets Service Bus dans votre espace de noms Service Bus. Vous devez également procéder comme suit :

  • Activez l’identité affectée par le système pour votre instance Azure Digital Twins.
  • Ajoutez l’identité au rôle Expéditeur de données Azure Service Bus dans l’espace de noms Service Bus.
  • Ensuite, configurez un point de terminaison Azure Digital Twins ou une connexion d’historique des données Azure Digital Twins qui utilise l’identité affectée par le système pour l’authentification. Si vous souhaitez en savoir plus sur la configuration des points de terminaison et des itinéraires d’événements vers des ressources Service Bus depuis Azure Digital Twins, veuillez consulter les rubriques Acheminer des événements Azure Digital Twins et Créer des points de terminaison dans Azure Digital Twins.
Azure Monitor (paramètres de diagnostic et groupes d’actions) Permet à Azure Monitor d’envoyer des informations de diagnostic et des notifications d’alerte à Service Bus dans votre espace de noms Service Bus. Azure Monitor peut lire et écrire des données dans l’espace de noms Service Bus.
Azure Synapse Permet à Azure Synapse de se connecter à Service Bus à l’aide de l’identité managée de l’espace de travail Synapse. Ajoutez le rôle Expéditeur, Récepteur ou Propriétaire de données Azure Service Bus à l’identité dans l’espace de noms Service Bus.

Les autres services approuvés d’Azure Service Bus sont disponibles ci-dessous :

  • Explorateur de données Azure
  • Azure Health Data Services
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Utilisation d’un modèle Resource Manager

Cette section présente un exemple de modèle Azure Resource Manager qui ajoute un réseau virtuel et une règle de pare-feu à un espace de noms Service Bus existant.

ipMask est une adresse IPv4 unique ou un bloc d’adresses IP en notation CIDR. Par exemple, dans la notation CIDR, 70.37.104.0/24 représente les 256 adresses IPv4 comprises entre 70.37.104.0 et 70.37.104.255, 24 indiquant le nombre de bits de préfixe significatifs pour la plage.

Notes

La valeur par défaut de defaultAction est Allow. Lorsque vous ajoutez des règles de réseau virtuel ou de pare-feu, veillez à définir defaultAction sur Deny.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespace_name": {
            "defaultValue": "mypremiumnamespace",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2022-10-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Premium",
                "tier": "Premium",
                "capacity": 1
            },
            "properties": {
                "premiumMessagingPartitions": 1,
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true
            }
        },
        {
            "type": "Microsoft.ServiceBus/namespaces/networkRuleSets",
            "apiVersion": "2022-10-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.ServiceBus/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "virtualNetworkRules": [],
                "ipRules": [
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Pour déployer le modèle, suivez les instructions pour Azure Resource Manager.

Important

S’il n’existe aucune règle d’adresse IP et de réseau virtuel, tout le trafic transite dans l’espace de noms, même si vous définissez defaultAction sur deny. L’espace de noms est accessible via l’Internet public (à l’aide de la clé d’accès). Spécifiez au moins une règle d’adresse IP ou une règle de réseau virtuel pour l’espace de noms afin d’autoriser le trafic uniquement à partir des adresses IP ou du sous-réseau d’un réseau virtuel spécifié.

Utiliser l’interface de ligne de commande Microsoft Azure

Utilisez les commandes d’ajout, de liste, de mise à jour et de suppression az servicebus namespace network-rule-set pour gérer les règles de pare-feu IP d’un espace de noms Service Bus.

Utilisation d'Azure PowerShell

Utilisez les commandes Azure PowerShell suivantes pour ajouter, lister, retirer, mettre à jour et supprimer des règles de pare-feu IP.

Action par défaut et accès au réseau public

API REST

La valeur par défaut de la propriété defaultAction était Deny pour la version d’API 2021-01-01-preview et versions précédentes. Toutefois, la règle de refus n’est pas appliquée, sauf si vous définissez des filtres IP ou des règles de réseau virtuel. Autrement dit, si vous n’avez pas de filtres IP ou de règles de réseau virtuel, elle est traitée comme Allow.

À partir de la version d’API 2021-06-01-Preview, la valeur par défaut de la propriété defaultAction est Allow, afin de refléter avec précision l’application côté service. Si l’action par défaut est définie sur Deny, les filtres IP et les règles de réseau virtuel sont appliqués. Si l’action par défaut est définie sur Allow, les filtres IP et les règles de réseau virtuel ne sont pas appliqués. Le service mémorise les règles lorsque vous les désactivez, puis les réactivez.

La version d’API 2021-06-01-Preview et les suivantes présentent également une nouvelle propriété nommée publicNetworkAccess. Si sa valeur est Disabled, les opérations sont limitées aux liaisons privées. Si sa valeur est Enabled, les opérations sont autorisées sur l’Internet public.

Pour plus d’informations sur ces propriétés, consultez Créer ou mettre à jour un ensemble de règles réseau et Créer ou mettre à jour des connexions de point de terminaison privé.

Remarque

Aucun des paramètres ci-dessus ne contourne la validation des revendications par le biais de l’authentification SAP ou Microsoft Entra. Le contrôle d’authentification s’exécute toujours une fois que le service a validé les vérifications réseau qui sont configurées par les paramètres defaultAction, publicNetworkAccess et privateEndpointConnections.

Portail Azure

Le portail Azure utilise toujours la dernière version de l’API pour récupérer et définir les propriétés. Si vous avez déjà configuré votre espace de noms avec la 2021-01-01-Preview ou une version antérieure en définissant defaultAction défini sur Deny, et que vous n’avez pas spécifié de filtre IP ou de règles de réseau virtuel, le portail aurait précédemment choisi les Réseaux sélectionnés dans la page Mise en réseau de votre espace de noms. À présent, il choisit l’option Tous les réseaux.

Screenshot of the Azure portal Networking page. The option to allow access from All networks is selected on the Firewalls and virtual networks tab.

Étapes suivantes

Pour limiter l’accès à Service Bus aux réseaux virtuels Azure, consultez le lien suivant :