Autoriser l’accès à un espace de noms Azure Service Bus à partir de réseaux virtuels spécifiques

L’intégration de Service Bus à des points de terminaison de service de réseau virtuel (VNet) permet de sécuriser l’accès aux fonctionnalités de messagerie à partir de charges de travail, notamment celles de machines virtuelles liées à des réseaux virtuels. Le chemin du trafic réseau est sécurisé aux deux extrémités.

Une fois configuré pour être lié à au moins un point de terminaison de service de sous-réseau de réseau virtuel, l’espace de noms Service Bus concerné n’accepte plus que le trafic provenant de réseaux virtuels autorisés et, éventuellement, d’adresses IP Internet spécifiques. Du point de vue du réseau virtuel, la liaison d’un espace de noms Service Bus à un point de terminaison de service configure un tunnel de mise en réseau isolé allant du sous-réseau de réseau virtuel au service de messagerie.

Il en résulte une relation privée et isolée entre les charges de travail liées au sous-réseau et l’espace de noms Service Bus respectif, et ce malgré le fait que l’adresse réseau observable du point de terminaison du service de messagerie figure dans une plage d’adresses IP publique.

Points importants

  • Les réseaux virtuels sont pris en charge uniquement dans les espaces de noms du niveau Premium de Service Bus. Quand vous utilisez des points de terminaison de service de réseau virtuel avec Service Bus, vous ne devez pas activer ces points de terminaison dans les applications qui combinent des espaces de noms Service Bus de niveau Standard et Premium. Étant donné que le niveau Standard ne prend pas en charge les réseaux virtuels, le point de terminaison est limité aux espaces de noms du niveau Premium uniquement.

  • L’implémentation de l’intégration de réseaux virtuels peut empêcher d’autres services Azure d’interagir avec Service Bus. À titre exceptionnel, vous pouvez autoriser l’accès aux ressources Service Bus à partir de certains services approuvés, même quand les points de terminaison de service réseau sont activés. 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
  • 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. 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).

Scénarios de sécurité avancés pris en charge par l’intégration à VNet

En général, les solutions nécessitant une sécurité étroite et compartimentée et dans lesquelles les sous-réseaux de réseau virtuel assurent la segmentation entre les services compartimentés ont toujours besoin de chemins de communication entre les services résidant dans ces compartiments.

Toute route IP immédiate entre les compartiments, notamment celles acheminant le trafic HTTPS sur TCP/IP, comporte un risque d’exploitation des vulnérabilités émanant de la couche réseau. Les services de messagerie fournissent des chemins de communication isolés, les messages étant même écrits sur disque à mesure qu’ils passent d’une partie à une autre. Les charges de travail dans deux réseaux virtuels distincts qui sont tous les deux liés à la même instance de Service Bus peuvent communiquer de manière efficace et fiable au moyen de messages, sans aucun impact sur l’intégrité des limites d’isolement de chaque réseau.

Vos solutions cloud sensibles en matière de sécurité accèdent donc aux fonctionnalités de messagerie asynchrones de pointe d’Azure qui allient fiabilité et scalabilité. Vos solutions peuvent désormais utiliser la messagerie pour créer des chemins de communication entre des compartiments de solution sécurisés, ce qui offre intrinsèquement une meilleure sécurité que n’importe quel mode de communication pair à pair (notamment HTTPS et d’autres protocoles de sockets sécurisés par TLS).

Liaison de Service Bus à des réseaux virtuels

Les règles de réseau virtuel sont une fonctionnalité de sécurité de pare-feu. Elles permettent de contrôler si votre serveur Azure Service Bus doit accepter ou non les connexions d’un sous-réseau de réseau virtuel particulier.

La liaison d’un espace de noms Service Bus à un réseau virtuel est un processus en deux étapes. Vous devez d’abord créer un point de terminaison de service de réseau virtuel sur un sous-réseau de réseau virtuel et l’activer pour Microsoft.ServiceBus, comme expliqué dans la vue d’ensemble des points de terminaison de service. Après avoir ajouté le point de terminaison de service, liez-le à l’espace de noms Service Bus au moyen d’une règle de réseau virtuel.

La règle de réseau virtuel est une association de l’espace de noms Service Bus et d’un sous-réseau de réseau virtuel. Une fois la règle en place, toutes les charges de travail liées au sous-réseau sont autorisées à accéder à l’espace de noms Service Bus. Service Bus n’établit jamais de connexions sortantes, ne nécessite aucun accès et ne se voit donc jamais accorder l’accès à votre sous-réseau quand cette règle est activée.

Notes

N’oubliez pas qu’un point de terminaison de service réseau fournit aux applications exécutées dans le réseau virtuel l’accès à l’espace de noms Service Bus. Le réseau virtuel contrôle l’accessibilité du point de terminaison, mais pas les opérations qui peuvent être effectuées sur des entités Service Bus (files d’attente, rubriques ou abonnements). Utiliser Microsoft Entra ID pour autoriser des opérations que les applications peuvent effectuer sur l’espace de noms et ses entités. Pour plus d’informations, consultez Authentifier et autoriser une application avec Microsoft Entra ID pour accéder aux entités Service Bus.

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 fournit des détails sur la spécification des réseaux depuis lesquels l’accès est autorisé.

Configurer des réseaux sélectionnés pour un espace de noms existant

Cette section montre comment utiliser le portail Azure pour ajouter un point de terminaison de service de réseau virtuel. Pour limiter l’accès, vous devez intégrer le point de terminaison de service de réseau virtuel pour cet espace de noms Event Hubs.

  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 restreindre l’accès à des réseaux virtuels spécifiques, sélectionnez l’option Réseaux sélectionnés si ce n’est déjà fait.

  5. Dans la section Réseau virtuel de la page, sélectionnez +Ajouter un réseau virtuel existant. Sélectionnez + Créer un réseau virtuel si vous souhaitez créer un réseau virtuel.

    Image showing the selection of Add existing virtual network button on the toolbar.

    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).

  6. Sélectionnez le réseau virtuel dans la liste des réseaux virtuels, puis choisissez le sous-réseau. Vous devez activer le point de terminaison de service avant d’ajouter le réseau virtuel à la liste. Si le point de terminaison de service n’est pas activé, le portail vous demande de l’activer.

    Image showing the selection of VNet and subnet.

  7. Une fois le point de terminaison de service pour le sous-réseau activé pour Microsoft.ServiceBus, le message suivant doit s’afficher. Sélectionnez Ajouter au bas de la page pour ajouter le réseau.

    Image showing the success message of enabling the service endpoint.

    Remarque

    Si vous ne pouvez pas activer le point de terminaison de service, vous pouvez ignorer le point de terminaison de service de réseau virtuel manquant en utilisant le modèle Resource Manager. Cette fonctionnalité n’est pas disponible dans le portail.

  8. 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. Le bouton Enregistrer doit être désactivé.

    Image showing the network service endpoint saved.

    Remarque

    Pour obtenir des instructions sur l’autorisation d’accès à partir d’adresses ou de plages d’adresses IP spécifiques, consultez Autoriser l’accès à partir d’adresses ou de plages d’adresses IP 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

Le modèle Resource Manager suivant ajoute une règle de réseau virtuel à un espace de noms Service Bus. Pour la règle de réseau, elle spécifie l’ID d’un sous-réseau dans un réseau virtuel.

L’ID est un chemin d’accès complet Resource Manager pour le sous-réseau de réseau virtuel. Par exemple, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default pour le sous-réseau par défaut d’un réseau virtuel.

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.

Modèle :

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
		"servicebusNamespaceName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Service Bus namespace"
			}
		},
		"virtualNetworkName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Rule"
			}
		},
		"subnetName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Sub Net"
			}
		},
		"location": {
			"type": "string",
			"metadata": {
				"description": "Location for Namespace"
			}
		}
	},
	"variables": {
		"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
		"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
	},
	"resources": [{
			"apiVersion": "2022-10-01-preview",
			"name": "[parameters('servicebusNamespaceName')]",
			"type": "Microsoft.ServiceBus/namespaces",
			"location": "[parameters('location')]",
			"sku": {
				"name": "Premium",
				"tier": "Premium",
				"capacity": 1
			},
			"properties": {
				"premiumMessagingPartitions": 1,
				"minimumTlsVersion": "1.2",
				"publicNetworkAccess": "Enabled",
				"disableLocalAuth": false,
				"zoneRedundant": true
			}
		},
		{
			"apiVersion": "2022-07-01",
			"name": "[parameters('virtualNetworkName')]",
			"location": "[parameters('location')]",
			"type": "Microsoft.Network/virtualNetworks",
			"properties": {
				"addressSpace": {
					"addressPrefixes": [
						"10.0.0.0/23"
					]
				},
				"subnets": [{
					"name": "[parameters('subnetName')]",
					"properties": {
						"addressPrefix": "10.0.0.0/23",
						"serviceEndpoints": [{
							"service": "Microsoft.ServiceBus"
						}]
					}
				}]
			}
		},
		{
			"apiVersion": "2022-10-01-preview",
			"name": "[variables('namespaceNetworkRuleSetName')]",
			"type": "Microsoft.ServiceBus/namespaces/networkruleset",
			"dependsOn": [
				"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
			],
			"properties": {
				"publicNetworkAccess": "Enabled",
				"defaultAction": "Deny",
				"virtualNetworkRules": [{
					"subnet": {
						"id": "[variables('subNetId')]"
					},
					"ignoreMissingVnetServiceEndpoint": false
				}],
				"ipRules": [],
				"trustedServiceAccessEnabled": false
			}
		}
	],
	"outputs": {}
}

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 des commandes d’ajout, de liste, de mise à jour et de suppression az servicebus namespace network-rule-set pour gérer les règles de réseau virtuel d’un espace de noms Service Bus.

Utilisation d'Azure PowerShell

Utilisez les commandes Azure PowerShell suivantes pour ajouter, répertorier, retirer, mettre à jour et supprimer des règles réseau pour un espace de noms Service Bus.

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 plus d’informations sur les réseaux virtuels, consultez les liens suivants :