Autoriser l’accès aux espaces de noms Azure Event Hubs à partir d’adresses ou de plages d’adresses IP spécifiques

Par défaut, les espaces de noms Event Hubs sont accessibles sur Internet tant que la demande s’accompagne d’une authentification et d’une autorisation valides. Avec le pare-feu IP, vous pouvez les limiter à un ensemble d’adresses IPv4 et IPv6 ou de plages d’adresses dans la notation CIDR (Classless InterDomain Routing).

Cette fonctionnalité est utile dans les scénarios où Azure Event Hubs 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 et IPv6 spécifiques. Par exemple, si vous utilisez Event Hubs avec Azure ExpressRoute, vous pouvez créer une règle de pare-feu pour autoriser uniquement le trafic provenant des adresses IP de votre infrastructure locale.

Règles de pare-feu IP

Vous indiquez les règles de pare-feu IP au niveau de l’espace de noms Event Hubs. Par conséquent, les règles s’appliquent à toutes les connexions de clients utilisant un protocole pris en charge. Toute tentative de connexion à partir d’une adresse IP qui ne correspond pas à une règle IP autorisée dans l’espace de noms Event Hubs 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

  • Cette fonctionnalité n’est pas prise en charge dans le niveau De base.
  • L’activation de règles de pare-feu pour vos demandes entrantes par défaut de blocs d’espace de noms Event Hubs, sauf si les demandes proviennent d’un service opérant à partir d’adresses IP publiques autorisées. 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 lorsque le filtrage IP est activé. Pour obtenir la liste des services approuvés, consultez Services Microsoft approuvés.
  • 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).

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 Event Hubs. 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 montre comment utiliser le Portail Azure afin de créer des règles de pare-feu IP pour un 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 Accès au réseau public de la page Mise en réseau, choisissez l’option Réseaux sélectionnés pour n’autoriser l’accès qu’à partir des adresses IP spécifiées.

    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 adresses IP spécifiques, sélectionnez l’option Réseaux sélectionnés, puis suivez ces étapes :

    1. Dans la section Pare-feu, 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. Pour la plage d’adresses, entrez des adresses IPv4 ou IPv6 spécifiques ou des plages d’adresses en notation de routage CIDR (Classless InterDomain Routing).

      Important

      Lorsque le service commencera à prendre en charge les connexions IPv6 à l’avenir et que les clients passeront automatiquement à l’utilisation d’IPv6, vos clients seront interrompus si vous n’avez que des adresses IPv4, et non des adresses IPv6. Nous vous recommandons donc d’ajouter dès maintenant les adresses IPv6 à la liste des adresses IP autorisées, afin que vos clients ne soient pas interrompus lorsque le service passera éventuellement à la prise en charge de l’IPv6.

    3. Spécifiez si vous voulez Autoriser les services Microsoft approuvés à contourner ce pare-feu. Pour plus d’informations, consultez Services Microsoft approuvés.

      Firewall section highlighted in the Public access tab of the Networking page.

  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

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

Important

La fonctionnalité Pare-feu n’est pas prise en charge dans le niveau De base.

Le modèle Resource Manager suivant permet d’ajouter une règle de filtre IP à un espace de noms Event Hubs.

ipMask dans le modèle 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": "contosoehub1333",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventHub/namespaces",
            "apiVersion": "2022-01-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true,
                "isAutoInflateEnabled": false,
                "maximumThroughputUnits": 0,
                "kafkaEnabled": true
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/authorizationrules",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/networkRuleSets",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/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"
                    },
                    {
                        "ipMask": "172.72.157.204",
                        "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 eventhubs namespace network-rule-set pour gérer les règles de pare-feu IP d’un espace de noms Event Hubs.

Utilisation d'Azure PowerShell

Utilisez la cmdlet Set-AzEventHubNetworkRuleSet pour ajouter une ou plusieurs règles de pare-feu IP. Un exemple tiré de l’article :

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
$networkRuleSet = Get-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace
$networkRuleSet.IPRule += $ipRule1
$networkRuleSet.IPRule += $ipRule2
$networkRuleSet.VirtualNetworkRule += $virtualNetworkRule1
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3

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. Cependant, 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 aviez configuré votre espace de noms avec la préversion 01-01-2021 ou une version antérieure en définissant defaultAction sur Deny, et que vous n’aviez spécifié aucun filtre IP ni règle de réseau virtuel, le portail aurait déjà coché l’option Réseaux sélectionnés sur 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 limiter l’accès à Event Hubs aux réseaux virtuels Azure, consultez le lien suivant :