Utiliser des points de terminaison privés pour Stockage Azure

Vous pouvez utiliser des points de terminaison privés pour vos comptes Stockage Azure afin de permettre aux clients d’un réseau virtuel (VNet) d’accéder en toute sécurité aux données via une liaison Private Link. Le point de terminaison privé utilise une adresse IP distincte de l’espace d’adressage du réseau virtuel pour chaque service de compte de stockage. Le trafic réseau entre les clients sur le réseau virtuel et le compte de stockage traverse le réseau virtuel et une liaison privée sur le réseau principal de Microsoft, ce qui élimine l’exposition sur l’Internet public.

Notes

Les points de terminaison privés ne sont pas disponibles pour les comptes de stockage à usage général v1.

L’utilisation de points de terminaison privés pour votre compte de stockage vous permet d’effectuer les opérations suivantes :

  • Sécurisez votre compte de stockage en configurant le pare-feu de stockage pour bloquer toutes les connexions sur le point de terminaison public pour le service de stockage.
  • Améliorez la sécurité du réseau virtuel en vous permettant de bloquer l’exfiltration des données à partir du réseau virtuel.
  • Connectez-vous en toute sécurité aux comptes de stockage à partir de réseaux locaux qui se connectent au réseau virtuel à l’aide de VPN ou d’ExpressRoutes avec le peering privé.

Vue d'ensemble conceptuelle

Vue d’ensemble des points de terminaison privés pour Stockage Azure

Un point de terminaison privé est une interface réseau spéciale pour un service Azure dans votre réseau virtuel. Lorsque vous créez un point de terminaison privé pour votre compte de stockage, il offre une connectivité sécurisée entre les clients sur votre réseau virtuel et votre stockage. Une adresse IP est attribuée au point de terminaison privé à partir de la plage d’adresses IP de votre réseau virtuel. La connexion entre le point de terminaison privé et le service de stockage utilise une liaison privée.

Les applications du réseau virtuel peuvent se connecter en toute transparence au service de stockage sur le point de terminaison privé, à l’aide des mêmes chaînes de connexion et mécanismes d’autorisation qu’ils utiliseraient dans tous les cas. Les points de terminaison privés peuvent être utilisés avec tous les protocoles pris en charge par le compte de stockage, notamment REST et SMB.

Vous pouvez créer des points de terminaison privés dans des sous-réseaux qui utilisent des points de terminaison de service. Les clients d’un sous-réseau peuvent donc se connecter à un compte de stockage à l’aide d’un point de terminaison privé, tout en utilisant des points de terminaison de service pour accéder à d’autres.

Quand vous créez un point de terminaison privé pour un service de stockage dans votre réseau virtuel, une demande de consentement est envoyée pour approbation au propriétaire du compte de stockage. Si l’utilisateur qui demande la création du point de terminaison privé est également propriétaire du compte de stockage, cette demande de consentement est automatiquement approuvée.

Les propriétaires de comptes de stockage peuvent gérer les demandes de consentement et les points de terminaison privés, via l’onglet « Points de terminaison privés » du compte de stockage dans le portail Azure.

Conseil

Si vous souhaitez restreindre l’accès à votre compte de stockage uniquement par le biais du point de terminaison privé, configurez le pare-feu de stockage pour refuser ou contrôler l’accès via le point de terminaison public.

Vous pouvez sécuriser votre compte de stockage pour accepter uniquement les connexions à partir de votre réseau virtuel, en configurant le pare-feu de stockage afin de refuser l’accès via son point de terminaison public par défaut. Vous n’avez pas besoin d’une règle de pare-feu pour autoriser le trafic à partir d’un réseau virtuel doté d’un point de terminaison privé, puisque le pare-feu de stockage contrôle uniquement l’accès via le point de terminaison public. Les points de terminaison privés reposent plutôt sur le flux de consentement pour accorder l’accès aux sous-réseaux au service de stockage.

Notes

Lors de la copie d’objets blob entre des comptes de stockage, votre client doit disposer d’un accès réseau aux deux comptes. Par conséquent, si vous choisissez d’utiliser une liaison privée pour un seul compte (la source ou la destination), assurez-vous que votre client dispose d’un accès réseau à l’autre compte. Pour en savoir plus sur les autres méthodes de configuration de l’accès réseau, consultez Configurer des réseaux virtuels et des pare-feu de stockage Azure.

Création d’un point de terminaison privé

Pour créer un point de terminaison privé à l’aide du portail Azure, consultez Se connecter en privé à un compte de stockage à partir de l’expérience Compte de stockage dans le portail Azure.

Pour créer un point de terminaison privé à l’aide de PowerShell ou d’Azure CLI, consultez l’un de ces articles. Tous deux présentent une application web Azure en tant que service cible, mais les étapes de création d’une liaison privée sont les mêmes que pour un compte de stockage Azure.

Lorsque vous créez un point de terminaison privé, vous devez spécifier le compte de stockage et le service de stockage auxquels il se connecte.

Vous avez besoin d’un point de terminaison privé distinct pour chacune des ressources de stockage auxquelles vous devez accéder, à savoir Objets Blob, Data Lake Storage Gen2, Fichiers, Files d’attente, Tables et Sites web statiques. Sur le point de terminaison privé, ces services de stockage sont définis en tant quesous-ressource cible du compte de stockage associé.

Si vous créez un point de terminaison privé pour la ressource de stockage Data Lake Storage Gen2, vous devez également en créer un pour la ressource de Stockage Objets Blob. En effet, les opérations qui ciblent le point de terminaison Data Lake Storage Gen2 peuvent être redirigées vers le point de terminaison d’objet blob. De même, si vous ajoutez un point de terminaison privé uniquement pour le Stockage Blob, pas pour Data Lake Storage Gen2, certaines opérations (telles que Gérer l’ACL, Créer un répertoire, Supprimer un répertoire, etc.) échouent, car les API Gen2 nécessitent un point de terminaison privé DFS. En créant un point de terminaison privé pour les deux ressources, assurez-vous que toutes les opérations réussissent.

Conseil

Créez un point de terminaison privé distinct pour l’instance secondaire du service de stockage afin d’améliorer les performances de lecture sur les comptes RA-GRS. Veillez à créer un compte de stockage v2 (Standard ou Premium) universel.

Pour accéder en lecture à la région secondaire avec un compte de stockage configuré pour le stockage géoredondant, vous devez disposer de points de terminaison privés distincts pour les instances principale et secondaire du service. Vous n’avez pas besoin de créer un point de terminaison privé pour l’instance secondaire pour le basculement. Le point de terminaison privé se connecte automatiquement à la nouvelle instance principale après le basculement. Pour plus d'informations sur les options de redondance du stockage, consultez Redondance du Stockage Azure.

Connexion à un point de terminaison privé

Les clients sur un réseau virtuel utilisant le point de terminaison privé doivent utiliser la même chaîne de connexion pour le compte de stockage que les clients se connectant au point de terminaison public. Nous nous appuyons sur la résolution DNS pour acheminer automatiquement les connexions entre le réseau virtuel et le compte de stockage via une liaison privée.

Important

Utilisez la même chaîne de connexion pour vous connecter au compte de stockage avec des points de terminaison privés, comme vous le feriez dans le cas contraire. Veuillez ne pas vous connecter au compte de stockage à l’aide de son URL de sous-domaine privatelink.

Par défaut, nous créons une zone DNS privée attachée au réseau virtuel avec les mises à jour nécessaires pour les points de terminaison privés. Toutefois, si vous utilisez votre propre serveur DNS, vous devrez peut-être apporter des modifications supplémentaires à votre configuration DNS. La section sur les modifications DNS ci-dessous décrit les mises à jour requises pour les points de terminaison privés.

Modifications DNS pour les points de terminaison privés

Notes

Pour plus d’informations sur la configuration de vos paramètres DNS pour les points de terminaison privés, consultez Configuration DNS du point de terminaison privé Azure.

Quand vous créez un point de terminaison privé, l’enregistrement de la ressource CNAME DNS pour le compte de stockage est mis à jour en un alias dans un sous-domaine avec le préfixe privatelink. Par défaut, nous créons également une zone DNS privée correspondant au sous-domaine privatelink, avec les enregistrements de ressource DNS A pour les points de terminaison privés.

Lorsque vous résolvez l’URL du point de terminaison de stockage à l’extérieur du réseau virtuel avec le point de terminaison privé, elle correspond au point de terminaison public du service de stockage. En cas de résolution à partir du réseau virtuel hébergeant le point de terminaison privé, l’URL du point de terminaison de stockage correspond à l’adresse IP du point de terminaison privé.

Pour l’exemple illustré ci-dessus, les enregistrements de ressources DNS pour le compte de stockage « StorageAccountA », lorsqu’ils sont résolus à l’extérieur du réseau virtuel hébergeant le point de terminaison privé, sont les suivants :

Nom Type Valeur
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net CNAME <point de terminaison public du service de stockage>
<point de terminaison public du service de stockage> A <adresse IP publique du service de stockage>

Comme mentionné précédemment, vous pouvez refuser ou contrôler l’accès pour les clients en dehors du réseau virtuel via le point de terminaison public à l’aide du pare-feu de stockage.

Les enregistrements de ressources DNS pour StorageAccountA, lorsqu’ils sont résolus par un client dans le réseau virtuel hébergeant le point de terminaison privé, sont les suivants :

Nom Type Valeur
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net Un 10.1.1.5

Cette approche permet d’accéder au compte de stockage avec la même chaîne de connexion pour les clients sur le réseau virtuel hébergeant les points de terminaison privés, ainsi que des clients en dehors du réseau virtuel.

Si vous utilisez un serveur DNS personnalisé sur votre réseau, les clients doivent pouvoir résoudre le nom de domaine complet du point de terminaison du compte de stockage vers l’adresse IP du point de terminaison privé. Vous devez configurer votre serveur DNS de manière à déléguer votre sous-domaine de liaison privée à la zone DNS privée du réseau virtuel, ou configurer les enregistrements A pour StorageAccountA.privatelink.blob.core.windows.net avec l'adresse IP du point de terminaison privé.

Conseil

Lorsque vous utilisez un serveur DNS personnalisé ou local, configurez votre serveur DNS de façon à résoudre le nom du compte de stockage dans le sous-domaine privatelink vers l’adresse IP du point de terminaison privé. Pour ce faire, vous pouvez déléguer le sous-domaine privatelink à la zone DNS privée du réseau virtuel ou configurer la zone DNS sur votre serveur DNS et ajouter les enregistrements A DNS.

Les noms de zone DNS recommandés pour les points de terminaison privés des services de stockage et les sous-ressources cibles de point de terminaison associées sont les suivants :

Service de stockage Sous-ressource cible Nom de la zone
Service d'objets blob objet BLOB privatelink.blob.core.windows.net
Data Lake Storage Gen2 dfs privatelink.dfs.core.windows.net
Service Fichier fichier privatelink.file.core.windows.net
Service File d’attente queue privatelink.queue.core.windows.net
Service Table table privatelink.table.core.windows.net
Sites web statiques web privatelink.web.core.windows.net

Pour plus d’informations sur la configuration de votre propre serveur DNS pour la prise en charge des points de terminaison privés, reportez-vous aux articles suivants :

Tarifs

Pour plus d’informations sur les tarifs, consultez Tarification Liaison privée Azure.

Problèmes connus

Gardez à l’esprit les problèmes connus suivants concernant les points de terminaison privés pour le Stockage Azure.

Contraintes d’accès au stockage pour les clients dans des réseaux virtuels avec des points de terminaison privés

Les clients dans réseaux virtuels avec des points de terminaison privés existants sont soumis à des contraintes lors de l’accès à d’autres comptes de stockage qui ont des points de terminaison privés. Par exemple, supposons qu’un réseau virtuel N1 possède un point de terminaison privé pour un compte de stockage A1 pour le service Stockage Blob. Si le compte de stockage A2 possède un point de terminaison privé dans un réseau virtuel N2 pour le stockage Blob, les clients dans le réseau virtuel N1 doivent également accéder au stockage Blob du compte A2 à l’aide d’un point de terminaison privé. Si le compte de stockage A2 ne possède pas de points de terminaison privés pour le stockage Blob, les clients dans le réseau virtuel N1 peuvent accéder au stockage Blob de ce compte sans point de terminaison privé.

Cette contrainte résulte des modifications DNS effectuées lorsque le compte A2 crée un point de terminaison privé.

Copie des objets blob entre des comptes de stockage

Vous pouvez copier des objets blob entre des comptes de stockage à l’aide de points de terminaison privés uniquement si vous utilisez l’API REST Azure ou des outils utilisant l’API REST. Ces outils incluent AzCopy, Explorateur Stockage, Azure PowerShell, Azure CLI et les kits de développement logiciel (SDK) Stockage Blob Azure.

Seuls les points de terminaison privés qui ciblent le blob ou le point de terminaison de la ressource de stockage file sont pris en charge. Cela inclut les appels d’API REST sur les comptes Data Lake Storage Gen2 dans lesquels le point de terminaison de ressource blob est référencé explicitement ou implicitement. Les points de terminaison privés qui ciblent le point de terminaison de la ressource dfs Data Lake Storage Gen2 ne sont pas encore pris en charge. La copie entre comptes de stockage à l’aide du protocole NFS (Network File System) n’est pas encore prise en charge.

Étapes suivantes