Azure

Accéder à un service PaaS via un Private Endpoint

Pour rappel et avant d’aller plus loin, Azure Private Endpoint est une interface réseau qui vous permet de vous connecter de façon privée et sécurisée à un service pris en charge par Azure Private Link.

Qu’est ce que Azure Private Endpoint ?

L’objectif d’un Private Endpoint est de pouvoir communiquer avec des ressources Azure de manières privées.

Prenons l’exemple d’un service PaaS classique avec une adresse IP publique. Ce service PaaS pourrait communiquer nativement avec toutes les ressources présentes dans le subnet en utilisant son adresse IP Publique.

Un Private Endpoint est une interface réseau qui utilise une adresse IP privée. Cette interface réseau vous connecte de manière privée et sécurisée à un service fonctionnant avec Azure Private Link. En activant un Private Endpoint, vous intégrez le service à votre réseau virtuel. Un private Endpoint doit se trouver dans un subnet.

Dans l’exemple ci-dessous, on peut ainsi bloquer l’accès publique entrant et sortant d’un service PaaS. Tout en étant capable d’accéder aux services en se connectant à une VM dans un subnet où ont été configurés des Private Endpoint pointant sur certains services (Storage Account par exemple).

Azure Private Endpoint

Connecter votre infrastructure locale et vos services Azure avec Private Endpoint

Pour résumer, un Private Endpoint est une adresse IP privée. N’importe quel service qui se connecte au subnet comportant le Private Endpoint et qui a les droits nécessaires pour l’utiliser peut donc se servir du Private Endpoint et bénéficier des services auxquels il est relié.

Si votre infrastructure On-Premises est connecté au VNet avec une ExpressRoute ou un S2S VPN, il sera donc en mesure de communiquer avec votre service PaaS à l’aide du lien privé. De même pour un autre VNet qui est connecté avec le VNet contenant le Private Endpoint.

Exemple de connectivité Azure

DNS

Lorsqu’un Private Endpoint est intégré à un service, celui-ci va créer un autre CNAME avec Private Link à l’intérieur du nom de domaine.  Voici ce que nous aurions pour un Storage account :

  • Point d’accès standard : Storage.blob.core.windows .net
  • Point d’accès Private Link : StoragePrivatelink.blob.core.windows.net

Pour résoudre l’adresse IP privée du point de terminaison privé, vous devez modifier votre configuration DNS. Le nom DNS CNAME permet de pouvoir pointer sur notre ressource sans avoir à retenir l’adresse IP complète.

Voici un très bon exemple d’une résolution DNS en utilisant Azure Private Link :

Résolution DNS d’après learn.microsoft.com

Le privatelink à l’intérieur du DNS Record permet de différencier les ressources ayant été configurées avec un Private Endpoint des ressources n’ayant pas été configurées avec un Private Endpoint.

Vue de private link center dans le portail Azure

Pour créer un Private Endpoint, il faut aller dans le service nommé Private Link Center. Pour des raisons de sécurité, certaines ressources PaaS vont nativement vous proposer de créer un Private Endpoint lors de la création de la ressource.

Mise en situation avec une Azure Web App

Exemple d’architecture test

Dans l’exemple ci-dessous nous allons créer une Web App dans Azure et bloquer tout accès provenant d’Internet. Pour accéder à cette Web App nous allons créer une VM et un Private Endpoint au sein du même subnet. Nous serons donc capable d’accéder à notre Web App de manière privé depuis n’importe quel objet se trouvant dans le Subnet. Dans mon cas, je vais faire l’exemple avec 1 VM.

Mise en situation avec une Azure Web App

Création de la Web App

Dans les étapes ci-dessous, je ne reprends pas toute la création d’une Web App. J’attire uniquement votre attention à ce qui est nécessaire pour notre test avec Azure Private Endpoint.

Lors de la création de la Web App vous aller devoir lui donner un nom, choisir un ressource groupe, un Runtime Stack, une région ainsi qu’un Plan. Ces données ne sont pas importantes pour notre tutoriel et vous utilisez les options que vous préférez. En revanche, pour notre démo, nous allons sélectionner l’option Off dans la partie networking pour que la Web App ne soit pas exposé à Internet.

Off : Network public access

Une fois notre Web app créée, nous pouvons tenter de nous connecter de manière publique à l’URL du site Internet : [WebAppNAME.azurewebsites.net]. Vous devriez être bloqué et avoir le résultat ci-dessous :

eRREUR 403

Configuration Réseau

La prochaine étape consiste à créer un VNet et ses dépendances. La VM que nous allons positionner à l’intérieur accèdera à la Web App grâce au Private Endpoint.

Nous allons maintenant créer un VNet, un subnet, un endpoint puis une VM. Vous pouvez choisir le nom qui vous plaît le mieux et conserver les réglages par défaut – sauf ceux que je mets en évidence ci-dessous. Pour la région choisie, notez la, nous en aurons besoin pour la suite.

Pour la partie adresse IP, vous pouvez prendre la plage qui vous convient. Dans mon cas, j’ai choisi 10.0.0.0/16.

Plan d’adressage IP pour votre VNet

Pour la création du Subnet :

  • Cliquez sur subnet dans le menu déroulant gauche de votre VNet (1)
  • Ajoutez un Subnet (2)
  • J’ai choisi de découper mon VNet avec un Subnet ayant la configuration 10.0.1.0/24. Cliquez sur Add pour valider la création (3).
Création du subnet

Nous allons maintenant créer une VM Windows Server dans ce subnet. N’oubliez pas de faire en sorte de pouvoir vous y connecter en laissant accessible le port 3389/TCP pour faire du RDP.

Dans la partie Networking, veuillez sélectionnez le subnet que vous avez précédemment créé :

Association de notre VM au Subnet précédemment créé

Nous allons maintenant créer un Private Endpoint à l’intérieur de ce subnet pour que les ressources à l’intérieur de ce subnet (en l’occurrence notre VM) puisse afficher le contenu de notre Web App.

Pour créer un Endpoint aller dans la VM, puis dans la partie Networking sur le menu déroulant gauche cliquez sur private endpoint. Enfin cliquez sur Add –> Express.

Ajout d’un private Endpoint sur la VM

Veuillez placer votre Private Endpoint dans le même subnet que votre VM. Vous pouvez ensuite valider la configuration.

Résultat et test

Pour tester notre solution nous allons devoir nous connecter à la VM en RDP. Pour voir le tuto, cliquez ici. Une fois connecté à votre VM, vous allez maintenant pouvoir utiliser le navigateur afin d’accéder à la page web (certes par défaut) de notre Azure Web app : [WebAppNAME.azurewebsites.net].

Si vous avez bien suivi toutes les étapes, vous serez capable d’accéder à votre Web App, un service (PaaS) pris en charge par Azure Private Link en utilisant votre Private Endpoint.

Accès à la Web App depuis la VM

Leo PARENT 😀

Si vous avez d’autres questions n’hésitez pas à me contacter sur Linkedin ou directement via mon site.

Share
Published by
Léo PARENT

Recent Posts

Shareable Link dans Azure Bastion Standard (lien de partage) pour accéder à une VM

Fonctionnalité attendue depuis longtemps, les liens partageables sont maintenant disponibles pour Azure Bastion Standard. Cette…

2 jours ago

Command & Conquer : une saga remasterisée

Command and Conquer - Remastered Collection Command & Conquer, une série de jeux vidéo de…

1 semaine ago

Kaspersky banni des États-Unis : quelles sont les implications pour la cybersécurité ?

En juin 2024, les États-Unis ont officiellement interdit l'utilisation de l'antivirus Kaspersky sur leur territoire.…

1 semaine ago

Azure Bastion Premium : L’enregistrement des sessions est désormais possible

Nouveau SKU pour Azure Bastion Azure Bastion Premium, récemment introduit, offre un ensemble de fonctionnalités…

1 semaine ago

Google rachète Cameyo pour faciliter l’exécution d’applications Windows sur ChromeOS

Google rachète Cameyo pour faciliter l'exécution d'applications Windows sur ChromeOS Google a officialisé l'acquisition de…

2 semaines ago

Bloquer le démarchage et la pub sur votre smartphone

Bloquer le démarchage et la pub sur votre smartphone - image générée par intelligence artificielle…

2 semaines ago