Partager via


Intégrer Azure Relay à Azure Private Link

Le service Azure Private Link vous permet d’accéder aux services Azure (par exemple,Azure Relay, Azure Service Bus, Azure Event Hubs, Stockage Azure et Azure Cosmos DB) ainsi qu’aux services de partenaires/clients hébergés par Azure sur un point de terminaison privé de votre réseau virtuel. Pour plus d’informations, consultez Qu’est-ce qu’Azure Private Link ?

Un point de terminaison privé est une interface réseau qui permet à vos charges de travail exécutées dans un réseau virtuel de se connecter en privé et en toute sécurité à un service qui dispose d’une ressource de liaison privée (par exemple, un espace de noms Azure Relay). Le point de terminaison privé utilise une adresse IP privée de votre réseau virtuel, plaçant de fait le service dans votre réseau virtuel. Sachant que l’ensemble du trafic à destination du service peut être routé via le point de terminaison privé, il n’y a aucun besoin de passerelles, d’appareils NAT, de connexions ExpressRoute ou VPN ni d’IP publiques. Le trafic entre votre réseau virtuel et le service transite par le réseau principal de Microsoft, éliminant ainsi toute exposition à l’Internet public. Vous pouvez fournir un niveau de granularité dans le contrôle d’accès en autorisant des connexions à des espaces de noms Azure Relay spécifiques.

Remarque

Si vous utilisez l’écouteur relais sur une liaison privée, ouvrez les ports 9400 à 9599 pour la communication sortante, ainsi que les ports de relais standard. Notez que vous devez effectuer cette étape uniquement pour l’écouteur relais.

Ajouter un point de terminaison privé avec le portail Azure

Prérequis

Pour intégrer un espace de noms Azure Relay à Azure Private Link, vous avez besoin des entités ou autorisations suivantes :

  • Un espace de noms Azure Relay.
  • Un réseau virtuel Azure.
  • Un sous-réseau dans le réseau virtuel.
  • Des autorisations de propriétaire ou de contributeur sur le réseau virtuel.

Votre point de terminaison privé et votre réseau virtuel doivent se trouver dans la même région. Au moment de sélectionner la région du point de terminaison privé sur le portail, les réseaux virtuels qui se trouvent dans cette région sont filtrés automatiquement. Votre espace de noms peut se trouver dans une autre région.

Votre point de terminaison privé utilise une adresse IP privée de votre réseau virtuel.

Configurer l’accès privé pour un espace de noms Relay

La procédure suivante fournit des instructions pas à pas pour désactiver l’accès public à un espace de noms Relay, puis ajouter un point de terminaison privé à l’espace de noms.

  1. Connectez-vous au portail Azure.

  2. Dans la barre de recherche, saisissez Relay.

  3. Dans la liste, sélectionnez l’espace de noms auquel vous voulez ajouter un point de terminaison privé.

  4. Dans le menu de gauche, sélectionnez l’onglet Mise en réseau sous Paramètres.

  5. Dans la page Mise en réseau, pour Accès au réseau public, sélectionnez Désactivé si vous souhaitez que l’espace de noms soit accessible uniquement via des points de terminaison privés.

  6. Pour Autoriser les services Microsoft approuvés à contourner ce pare-feu, sélectionnez Oui si vous souhaitez autoriser les services Microsoft approuvés à contourner ce pare-feu.

    Capture d’écran de la page Mise en réseau avec l’accès au réseau public désactivé.

  7. Sélectionnez l’onglet Connexions des points de terminaison privés en haut de la page.

  8. Sélectionnez le bouton + Point de terminaison privé en haut de la page.

    Capture d’écran montrant la sélection du bouton Ajouter un point de terminaison privé sous l’onglet Connexions de point de terminaison privé de la page Mise en réseau.

  9. Dans la page Informations de base, suivez ces étapes :

    1. Sélectionnez l’abonnement Azure où créer le point de terminaison privé.

    2. Sélectionnez le groupe de ressources pour la ressource de point de terminaison privé.

    3. Entrez un nom pour le point de terminaison privé.

    4. Entrez un nom pour l’interface réseau.

    5. Sélectionnez une région pour le point de terminaison privé. La région de votre point de terminaison privé doit être la même que celle de votre réseau virtuel, mais elle peut être différente de celle de l’espace de noms Azure Relay auquel vous vous connectez.

    6. Sélectionnez le bouton >Suivant : Ressource en bas de la page.

      Capture d’écran représentant la page De base dans l’Assistant Créer un point de terminaison privé.

  10. Passez en revue les paramètres dans la page Ressource, puis sélectionnez Suivant : Réseau virtuel.

    Capture d’écran montrant la page Ressource dans l’Assistant Créer un point de terminaison privé.

  11. Dans la page Réseau virtuel, sélectionnez le réseau virtuel et le sous-réseau dans lesquels vous voulez déployer le point de terminaison privé. Seuls les réseaux virtuels dans l’abonnement et l’emplacement sélectionnés sont présents dans la liste déroulante.

    Capture d’écran montrant la page Réseau virtuel de l’Assistant Créer un point de terminaison privé.

    Vous pouvez configurer si vous souhaitez allouer dynamiquement une adresse IP ou allouer statiquement une adresse IP au point de terminaison privé

    Vous pouvez également associer un groupe de sécurité d’application nouveau ou existant au point de terminaison privé.

  12. Sélectionnez Suivant : DNS pour accéder à la page DNS de l’Assistant. Dans la page DNS, le paramètre Intégration avec le paramètre de zone DNZ privé est activé par défaut (recommandé). Vous avez la possibilité de la désactiver.

    Capture d’écran montrant la page DNS dans l’Assistant Créer un point de terminaison privé.

    Pour vous connecter en privé à votre point de terminaison privé, vous avez besoin d’un enregistrement DNS. Nous vous recommandons d’intégrer votre point de terminaison privé à une zone DNS privée. Vous pouvez également utiliser vos propres serveurs DNS, ou créer des enregistrements DNS à l’aide des fichiers hôtes sur vos machines virtuelles. Pour plus d’informations, consultez Configuration DNS des points de terminaison privés Azure.

  13. Sélectionnez le bouton Suivant : étiquettes > au bas de la page.

  14. Sur la page Étiquettes, créez les étiquettes (noms et valeurs) à associer au point de terminaison privé et à la zone DNS privée (si vous avez activé l’option). Ensuite, sélectionnez le bouton Vérifier + créer en bas de la page.

  15. Dans la page Vérifier + créer, examinez tous les paramètres et sélectionnez Créer pour créer le point de terminaison privé.

  16. Sur la page Point de terminaison privé, vous pouvez voir l’état de la connexion de point de terminaison privé. Si vous êtes le propriétaire de l’espace de noms Azure Relay ou si vous en avez la gestion et que vous avez sélectionné l’option Se connecter à une ressource Azure dans mon répertoire pour la méthode de connexion, la connexion au point de terminaison doit être approuvée automatiquement. Si elle est à l’état En attente, consultez la section Gérer des points de terminaison privés avec le Portail Azure.

    Capture d’écran montrant la page du point de terminaison privé sur le portail Azure.

  17. Revenez à la page Mise en réseau de l’espace de noms et basculez sur l’onglet Connexions de points de terminaison privés. Vous devez voir le point de terminaison privé que vous avez créé.

    Capture d’écran montrant l’onglet Connexions de point de terminaison privé de la page Mise en réseau avec le point de terminaison privé que vous venez de créer.

Ajouter un point de terminaison privé avec PowerShell

L’exemple suivant montre comment utiliser Azure PowerShell pour créer une connexion de point de terminaison privé à un espace de noms Azure Relay.

Votre point de terminaison privé et votre réseau virtuel doivent se trouver dans la même région. Votre espace de noms Azure Relay peut se trouver dans une autre région. Et votre point de terminaison privé utilise une adresse IP privée dans votre réseau virtuel.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"

# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation 

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $rgName `
                    -Location $vnetlocation `
                    -Name $vnetName `
                    -AddressPrefix 10.0.0.0/16

# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
                    -Name $subnetName `
                    -AddressPrefix 10.0.0.0/24 `
                    -PrivateEndpointNetworkPoliciesFlag "Disabled" `
                    -VirtualNetwork $virtualNetwork

# update virtual network
$virtualNetwork | Set-AzVirtualNetwork

# create a relay namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Properties @{} -ResourceType "Microsoft.Relay/namespaces" 

# create a private link service connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you'll use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


Gérer des points de terminaison privés avec le portail Azure

Quand vous créez un point de terminaison privé, la connexion doit être approuvée. Si la ressource (espace de noms Azure Relay) pour laquelle vous créez un point de terminaison privé se trouve dans votre répertoire, vous pouvez approuver la requête de connexion à condition d’avoir les privilèges de gestion sur l’espace de noms Azure Relay. Si vous vous connectez à un espace de noms Azure Relay dont vous n’avez pas la gestion, vous devez attendre que le propriétaire de cette ressource approuve votre requête de connexion.

Il existe quatre états de provisionnement :

Action de service État du point de terminaison privé de l’utilisateur du service Description
None Pending La connexion est créée manuellement et est en attente de l’approbation du propriétaire de l’espace de noms Azure Relay.
Approbation Approved La connexion a été approuvée automatiquement ou manuellement et est prête à être utilisée.
Rejeter Rejeté La connexion a été rejetée par le propriétaire de l’espace de noms Azure Relay.
Remove Déconnecté La connexion a été supprimée par le propriétaire de l’espace de noms Azure Relay, le point de terminaison privé devient donc informatif et doit être supprimé dans le cadre d’un nettoyage.

Approuver, rejeter ou supprimer une connexion de point de terminaison privé

  1. Connectez-vous au portail Azure.
  2. Dans la barre de recherche, saisissez Relay.
  3. Sélectionnez l’espace de noms que vous voulez gérer.
  4. Sélectionnez l’onglet Réseau.
  5. Accédez à la section appropriée ci-dessous en fonction de l’opération souhaitée : approuver, rejeter ou supprimer.

Approuver une connexion de point de terminaison privé

  1. Si une connexion est en attente, celle-ci présente l’état de provisionnement En attente.

  2. Sélectionnez le point de terminaison privé à approuver

  3. Sélectionnez le bouton Approuver.

    Capture d’écran montrant le bouton Approuver dans la barre de commandes du point de terminaison privé sélectionné.

  4. Dans la page Approuver la connexion, entrez éventuellement un commentaire et sélectionnez Oui. Si vous sélectionnez Non, il ne se passe rien.

    Capture d’écran montrant la page Approuver la connexion demandant votre confirmation.

  5. Vous devez voir que l’état de la connexion dans la liste est remplacé par Approuvé.

Rejeter une connexion de point de terminaison privé

  1. Si vous voulez rejeter une connexion de point de terminaison privé, qu’il s’agisse d’une demande en attente ou d’une connexion existante approuvée précédemment, sélectionnez la connexion de point de terminaison, puis le bouton Rejeter.

    Capture d’écran montrant le bouton Rejeter dans la barre de commandes du point de terminaison privé sélectionné.

  2. Dans la page Rejeter la connexion, entrez éventuellement un commentaire et sélectionnez Oui. Si vous sélectionnez Non, il ne se passe rien.

    Capture d’écran montrant la page Rejeter la connexion demandant votre confirmation.

  3. Vous devez voir que l’état de la connexion dans la liste est remplacé par Rejeté.

Supprimer une connexion de point de terminaison privé

  1. Pour supprimer une connexion de point de terminaison privé, sélectionnez-la dans la liste et sélectionnez Supprimer dans la barre d’outils.

    Capture d’écran montrant le bouton Supprimer dans la barre de commandes du point de terminaison privé sélectionné.

  2. Dans la page Supprimer la connexion, sélectionnez Oui pour confirmer la suppression du point de terminaison privé. Si vous sélectionnez Non, il ne se passe rien.

    Capture d’écran montrant la page Supprimer la connexion vous demandant la confirmation.

  3. Vous devez voir que l’état a été remplacé par Déconnecté. Dans ce cas, vous ne verrez pas le point de terminaison dans la liste.

Vous devez vérifier que les ressources qui se trouvent sur le réseau virtuel du point de terminaison privé se connectent à votre espace de noms Azure Relay par le biais de son adresse IP privée.

Pour ce test, créez une machine virtuelle en suivant les étapes décrites dans Créer une machine virtuelle Windows dans le portail Azure.

Sous l’onglet Réseau :

  1. Spécifiez un réseau virtuel et un sous-réseau. Sélectionnez le réseau virtuel sur lequel vous avez déployé le point de terminaison privé.
  2. Spécifiez une ressource d’adresse IP publique.
  3. Pour Groupe de sécurité réseau de la carte réseau, sélectionnez Aucun.
  4. Pour Équilibrage de charge, sélectionnez Non.

Connectez-vous à la machine virtuelle, ouvrez la ligne de commande et exécutez la commande suivante :

nslookup <your-relay-namespace-name>.servicebus.windows.net

Vous devez obtenir un résultat similaire à la sortie suivante.

Non-authoritative answer:
Name:    <namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <namespace-name>.servicebus.windows.net

Limitations et remarques sur la conception

Considérations sur la conception

Limites

  • Nombre maximal de points de terminaison privés par espace de noms Azure Relay : 64.
  • Nombre maximal d’espaces de noms Azure Relay avec points de terminaison privés par abonnement : 64.
  • Les règles de groupe de sécurité réseau et les routes définies par l’utilisateur ne s’appliquent pas au point de terminaison privé. Pour plus d’informations, consultez Azure Private Link : limitations

Services Microsoft approuvés

Lorsque vous activez le paramètre Autoriser les services Microsoft approuvés à contourner ce pare-feu, l’accès à vos ressources Azure Relay est octroyé aux services suivants :

Service approuvé Scénarios d’utilisation pris en charge
Azure Machine Learning AML Kubernetes utilise Azure Relay pour faciliter la communication entre les services AML et le cluster Kubernetes. Azure Relay est un service entièrement managé qui fournit une communication bidirectionnelle sécurisée entre des applications hébergées sur différents réseaux. Cela le rend idéal pour une utilisation dans des environnements de liaison privée, où la communication entre les ressources Azure et les ressources locales est restreinte.
Azure Arc Les services avec Azure Arc associés aux fournisseurs de ressources ci-dessus pourront se connecter aux connexions hybrides dans votre espace de noms Azure Relay en tant qu’expéditeur, sans être bloqués par les règles de pare-feu IP définies sur l’espace de noms Azure Relay. Le service Microsoft.Hybridconnectivity crée les connexions hybrides dans votre espace de noms Azure Relay et fournit les informations de connexion au service Arc approprié en fonction du scénario. Ces services ne communiquent avec votre espace de noms Azure Relay que si vous utilisez Azure Arc, avec les services Azure suivants :

- Azure Kubernetes
- Azure Machine Learning
- Microsoft Purview

Les autres services approuvés pour Azure Relay sont listés ci-dessous :

  • Azure Event Grid
  • Azure IoT Hub
  • Azure Stream Analytics
  • Azure Monitor
  • Gestion des API Azure
  • Azure Synapse
  • Explorateur de données Azure
  • Azure IoT Central
  • Services de données de santé Azure
  • Azure Digital Twins

Remarque

Dans la version 2021-11-01 ou une version ultérieure du kit de développement logiciel (SDK) Microsoft Relay, la propriété « trustedServiceAccessEnabled » est disponible dans les propriétés Microsoft.Relay/namespaces/networkRuleSets pour activer l’accès au service approuvé.

Pour autoriser les services approuvés dans les modèles Azure Resource Manager, incluez cette propriété dans votre modèle :

"trustedServiceAccessEnabled": "True"

Par exemple, en fonction du modèle ARM fourni ci-dessus, nous pouvons le modifier pour inclure cette propriété Network Rule Set pour l’activation des services approuvés :

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Étapes suivantes