Autoriser l'accès à un espace de noms Azure Event Hubs à partir de réseaux virtuels spécifiques

L’intégration d’Event Hubs à des points de terminaison de service de réseau virtuel 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 Event Hubs respectif n’accepte que le trafic provenant de sous-réseaux autorisés dans les réseaux virtuels. Du point de vue du réseau virtuel, la liaison d’un espace de noms Event Hubs à 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 Event Hubs 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. Toutefois, il existe une exception à ce comportement. Par défaut, l’activation d’un point de terminaison de service active à la règle denyall dans le pare-feu IP associé au réseau virtuel. Vous pouvez ajouter des adresses IP spécifiques dans le pare-feu IP pour permettre l’accès au point de terminaison public Event Hubs.

Points importants

  • Cette fonctionnalité n’est pas prise en charge dans le niveau De base.
  • L’activation de réseaux virtuels pour votre espace de noms Event Hubs bloque vos demandes entrantes par défaut, sauf si les demandes proviennent d’un service opérant à partir de réseaux virtuels autorisés. Les demandes qui sont bloquées comprennent les demandes émanant d’autres services Azure, du portail Azure, des services de journalisation et de métriques, etc. En guise d’exception, vous pouvez autoriser l’accès aux ressources Event Hubs à partir de certains services approuvés, même quand les réseaux virtuels sont activés. Pour obtenir la liste des services approuvés, consultez Services approuvé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. 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 encore 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 d’Event Hubs 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).

Lier des Event Hubs à 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 espace de noms Azure Event Hubs doit accepter ou non les connexions d’un sous-réseau de réseau virtuel particulier.

La liaison d’un espace de noms Event Hubs à 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, puis l’activer pour Microsoft.EventHub, comme expliqué dans l’article 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 Event Hubs 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 Event Hubs 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 Event Hubs. Event Hubs 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.

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 Event Hubs sur le Portail Azure.

  2. Sous Paramètres sur le menu de gauche, sélectionnez Mise en réseau.

  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 de réseaux virtuels spécifiques.

    Voici d’autres d’informations sur les options disponibles dans la page Accès au réseau public :

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

    • 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, le hub d'événements 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 spécifiques, choisissez l’option Réseaux sélectionnés en haut de la page, si ce n’est déjà fait.

  5. Dans la section Réseaux virtuels 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.

    Selection of Add existing virtual network menu item.

    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.

  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 a subnet.

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

    Image showing the selection of a subnet and enabling an 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. Spécifiez si vous voulez Autoriser les services Microsoft approuvés à contourner ce pare-feu. Pour plus d’informations, consultez Services Microsoft approuvés.

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

    Image showing the saving of virtual network.

    Remarque

    Pour restreindre l'accès à des adresses ou 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

Quand vous activez le paramètre Autoriser les services Microsoft approuvés à contourner ce pare-feu, les services suivants au sein du même locataire sont autorisés à accéder à vos ressources Event Hubs.

Service approuvé Scénarios d’utilisation pris en charge
Azure Event Grid Autorise Azure Event Grid à envoyer des événements à Event Hubs dans votre espace de noms Event Hubs. 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 Event Hubs sur l’espace de noms Event Hubs
  • Ensuite, configurez l’abonnement aux événements qui utilise un hub d’événements 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 lire des données (entrée) ou d’écrire des données dans des hubs d’événements (sortie) dans votre espace de noms Event Hubs.

Important ! Le travail Stream Analytics doit être configuré de manière à utiliser une identité managée pour accéder à l’Event Hub. Pour plus d’informations, consultez l’article Utiliser des identités managées pour accéder à Event Hub à partir d’un travail Azure Stream Analytics (préversion).

Azure IoT Hub Permet à IoT Hub d’envoyer des messages aux Event Hubs dans votre espace de noms Event Hubs. Vous devez également procéder comme suit :
  • Activer une identité attribuée par le système pour le hub IoT.
  • Ajouter l’identité au rôle d’expéditeur de données Azure Event Hubs sur l’espace de noms Event Hubs.
  • Ensuite, configurer l’IoT Hub qui utilise un Event Hub comme point de terminaison personnalisé pour utiliser l’authentification basée sur l’identité.
Gestion des API Azure

Le service API Management vous permet d'envoyer des événements à un hub d'événements de votre espace de noms Event Hubs.

Azure Monitor (paramètres de diagnostic et groupes d’actions) Autorise Azure Monitor à envoyer des informations de diagnostic et des notifications d’alerte à des Event Hubs dans votre espace de noms Event Hubs. Azure Monitor peut lire à partir de l’Event Hub et y écrire des données.
Azure Synapse Permet à Azure Synapse de se connecter à l’Event Hub à l’aide de l’identité managée de l’espace de travail Synapse. Ajoutez le rôle d’expéditeur, de receveur ou de propriétaire de données Azure Event Hubs à l’identité dans l’espace de noms Event Hubs.
Explorateur de données Azure Permet à Azure Data Explorer de recevoir des événements d’Event Hub à l’aide de l’identité managée du cluster. Vous devez procéder comme suit :
  • Configurer l’identité managée sur Azure Data Explorer
  • Accordez le rôle de récepteur de données Azure Event Hubs à l’identité sur Event Hub.
 
Azure IoT Central

Permet à IoT Central d’exporter des données vers des Event Hubs dans votre espace de noms Event Hubs. Vous devez également procéder comme suit :

Azure Health Data Services Permet au connecteur IoT des API Santé d’ingérer des données d’un appareil médical à partir de votre espace de noms Event Hubs et de conserver les données dans votre service FHIR® (Fast Healthcare Interoperability Resources) configuré. Le connecteur IoT doit être configuré de manière à utiliser une identité managée pour accéder à Event Hub. Pour plus d’informations, consultez Démarrage avec un connecteur IoT : API Azure Healthcare.
Azure Digital Twins Permet à Azure Digital Twins de sortir des données vers Event Hub dans votre espace de noms Event Hubs. 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 Event Hubs dans l’espace de noms Event Hubs.
  • 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. Pour plus d’informations sur la configuration des points de terminaison et des routes d’événements vers des ressources Event Hubs à partir de Azure Digital Twins, consultez Acheminer des événements Azure Digital Twins et Créer des points de terminaison dans Azure Digital Twins.

Les autres services approuvés d’Azure Event Hubs sont disponibles ci-dessous :

  • 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 Event Hubs. 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.

Lorsque vous ajoutez des règles de réseau virtuel ou de pare-feu, affectez la valeur defaultAction à Deny.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "eventhubNamespaceName": {
        "type": "string",
        "metadata": {
          "description": "Name of the Event Hubs 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('eventhubNamespaceName'), concat('/', 'default'))]",
      "subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
    },
    "resources": [
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[parameters('eventhubNamespaceName')]",
        "type": "Microsoft.EventHub/namespaces",
        "location": "[parameters('location')]",
        "sku": {
          "name": "Standard",
          "tier": "Standard"
        },
        "properties": { }
      },
      {
        "apiVersion": "2017-09-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.EventHub"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[variables('namespaceNetworkRuleSetName')]",
        "type": "Microsoft.EventHub/namespaces/networkruleset",
        "dependsOn": [
          "[concat('Microsoft.EventHub/namespaces/', parameters('eventhubNamespaceName'))]"
        ],
        "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 eventhubs 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 that shows the Public access page with the All networks option selected.

Étapes suivantes

Pour plus d’informations sur les réseaux virtuels, consultez les liens suivants :