Private Link pour Azure Database pour MySQL

S’APPLIQUE À : Azure Database pour MySQL - Serveur unique

Important

Azure Database pour MySQL serveur unique se trouve sur le chemin de mise hors service. Nous vous recommandons vivement de procéder à la mise à niveau vers Azure Database pour MySQL serveur flexible. Pour plus d’informations sur la migration vers Azure Database pour MySQL serveur flexible, consultez Ce qui se passe pour Azure Database pour MySQL serveur unique ?

Private Link vous permet de vous connecter à différents services PaaS dans Azure par le biais d’un point de terminaison privé. Azure Private Link intègre essentiellement les services Azure à votre Réseau virtuel privé. Vous pouvez accéder aux ressources PaaS à l’aide de l’adresse IP privée, comme toute autre ressource dans le réseau virtuel.

Pour obtenir la liste des services PaaS prenant en charge la fonctionnalité Private Link, consultez la documentation de Private Link. Un point de terminaison privé est une adresse IP privée au sein d’un réseau virtuel et d’un sous-réseau spécifiques.

Notes

La fonctionnalité de lien privé est disponible uniquement pour les serveurs Azure Database pour MySQL dans les niveaux tarifaires Usage général ou Mémoire optimisée. Vérifiez que le serveur de base de données se trouve dans l’un de ces niveaux tarifaires.

Prévention de l’exfiltration de données

L’exfiltration de données dans Azure Database pour MySQL se produit quand un utilisateur autorisé, tel qu’un administrateur de base de données, est en mesure d’extraire des données d’un système et de les déplacer vers un autre emplacement ou système en dehors de l’organisation. C’est par exemple le cas quand un utilisateur déplace des données vers un compte de stockage détenu par un tiers.

Imaginez un scénario avec un utilisateur exécutant MySQL Workbench à l’intérieur d’une machine virtuelle Azure qui se connecte à un serveur Azure Database pour MySQL approvisionné dans la région USA Ouest. L’exemple ci-dessous montre comment utiliser des contrôles d’accès réseau pour limiter l’accès à Azure Database pour MySQL par le biais de points de terminaison publics.

  • Désactivez tout le trafic des services Azure à destination d’Azure Database pour MySQL par le biais du point de terminaison public en désactivant l’option Autoriser les services Azure. Assurez-vous qu’aucune adresse IP ou plage n’est autorisée à accéder au serveur via des règles de pare-feu ou des points de terminaison de service de réseau virtuel.

  • Autorisez uniquement le trafic à destination d’Azure Database pour MySQL utilisant l’adresse IP privée de la machine virtuelle. Pour plus d’informations, consultez les articles sur le point de terminaison de service et les règle de pare-feu du réseau virtuel.

  • Sur la machine virtuelle Azure, limitez l’étendue de la connexion sortante à l’aide de groupes de sécurité réseau (NSG) et d’étiquettes de service comme suit.

    • Spécifiez une règle NSG pour autoriser le trafic pour Service Tag = SQL.WestUs (autorise uniquement la connexion à Azure Database pour MySQL dans la région USA Ouest)
    • Spécifiez une règle NSG (avec une priorité plus élevée) pour refuser le trafic pour Service Tag = SQL (refuse les connexions à Mettre à jour vers Azure Database pour MySQL dans toutes les régions)

À la fin de cette configuration, la machine virtuelle Azure peut uniquement se connecter à Azure Database pour MySQL dans la région USA Ouest. Toutefois, la connectivité n’est pas limitée à une seule instance Azure Database pour MySQL. La machine virtuelle peut toujours se connecter à toute instance Azure Database pour MySQL de la région USA Ouest, même si elle ne fait pas partie de l’abonnement. Bien que nous ayons réduit l’étendue de l’exfiltration de données dans le scénario ci-dessus à une région spécifique, nous ne l’avons pas encore totalement éliminée.

Grâce à Private Link, vous pouvez désormais configurer des contrôles d’accès réseau comme des groupes de sécurité réseau pour restreindre l’accès au point de terminaison privé. Les ressources Azure PaaS individuelles sont ensuite mappées à des points de terminaison privés spécifiques. Un utilisateur interne malveillant peut uniquement accéder à la ressource PaaS mappée (par exemple, une instance Azure Database pour MySQL). Il n’a accès à aucune autre ressource.

Connectivité locale sur un appairage privé

Lorsque vous vous connectez au point de terminaison public à partir de machines locales, votre adresse IP doit être ajoutée au pare-feu IP à l’aide d’une règle de pare-feu au niveau du serveur. Bien que ce modèle fonctionne bien pour autoriser l’accès à des machines individuelles pour des charges de travail de développement ou de test, il est difficile à gérer dans un environnement de production.

Grâce à Private Link, vous pouvez activer l’accès entre différents locaux au point de terminaison privé en utilisant ExpressRoute (ER), un peering privé ou un tunnel VPN. Vous pouvez ensuite désactiver tous les accès via le point de terminaison public et ne pas utiliser le pare-feu IP.

Notes

Il peut arriver que l’instance Azure Database pour MySQL et le sous-réseau de réseau virtuel se trouvent dans des abonnements différents. Dans ce cas, vous devez vérifier les configurations suivantes :

  • Assurez-vous que le fournisseur de ressources Microsoft.DBforMySQL est inscrit pour les deux abonnements. Pour plus d’informations, reportez-vous à resource-manager-registration

Processus de création

Des points de terminaison privés sont requis pour activer Private Link. Pour ce faire, vous pouvez utiliser les guides pratiques suivants.

Processus d’approbation

Une fois que l’administrateur réseau a créé le point de terminaison privé (PE), l’administrateur MySQL peut gérer la connexion de point de terminaison privé (PEC) à Azure Database pour MySQL. Cette séparation des tâches entre l’administrateur réseau et l’administrateur de bases de données facilite la gestion de la connectivité Azure Database pour MySQL.

  • Accédez à la ressource de serveur Azure Database pour MySQL dans le Portail Azure.
    • Sélectionner les connexions de point de terminaison privé dans le volet gauche
    • Affiche la liste de toutes les connexions de point de terminaison privé (PEC)
    • Point de terminaison privé (PE) correspondant créé

select the private endpoint portal

  • Sélectionnez un PEC dans la liste.

select the private endpoint pending approval

  • L’administrateur du serveur MySQL peut choisir d’approuver ou de rejeter un PEC. Il peut aussi ajouter une brève réponse sous forme de texte.

select the private endpoint message

  • Après l’approbation ou le rejet, la liste reflète l’état approprié et le texte de réponse

select the private endpoint final state

Les clients peuvent se connecter à un point de terminaison privé à partir du même réseau virtuel, Réseau virtuel homologué dans la même région ou entre des régions ou via la connexion de réseau virtuel à réseau virtuel entre des régions. Les clients peuvent également se connecter localement avec ExpressRoute, un appairage privé ou un tunneling VPN. Vous trouverez ci-dessous un diagramme simplifié montrant les cas d’usage courants.

select the private endpoint overview

Connexion à partir d’une machine virtuelle Azure dans un réseau virtuel appairé

Configurez le Peering de réseau virtuel pour établir la connectivité à Azure Database pour MySQL à partir d’une machine virtuelle Azure dans un réseau virtuel appairé.

Connexion à partir d’une machine virtuelle Azure dans un environnement de réseau virtuel à réseau virtuel

Configurez une connexion de passerelle VPN de réseau virtuel à réseau virtuel pour établir la connectivité à une instance Azure Database pour MySQL à partir d’une machine virtuelle Azure dans une autre région ou un autre abonnement.

Connexion à partir d’un environnement local sur un VPN

Pour établir la connectivité entre un environnement local et Azure Database pour MySQL, choisissez et implémentez l’une des options suivantes :

Les situations et résultats suivants sont possibles lorsque vous utilisez Private Link en association avec des règles de pare-feu :

  • Si vous ne configurez pas de règles de pare-feu, par défaut, aucun trafic ne pourra accéder à Azure Database pour MySQL.

  • Si vous configurez un trafic public ou un point de terminaison de service et que vous créez des points de terminaison privés, différents types de trafic entrant sont alors autorisés par le type de règle de pare-feu correspondant.

  • Si vous ne configurez aucun trafic public ni point de terminaison de service et que vous créez des points de terminaison privés, Azure Database pour MySQL est alors uniquement accessible via les points de terminaison privés. Si vous ne configurez aucun trafic public ni point de terminaison de service, après le rejet ou la suppression de tous les points de terminaison privés approuvés, aucun trafic ne sera en mesure d’accéder à Azure Database pour MySQL.

Refuser l’accès public pour Azure Database pour MySQL

Si vous souhaitez uniquement vous fier aux points de terminaison privés pour accéder à leur base de données Azure Database pour MySQL, vous pouvez désactiver la définition de tous les points de terminaison publics (à savoir, règles de pare-feu et points de terminaison de service de réseau virtuel) en définissant la configuration Refuser l’accès au réseau public sur le serveur de base de données.

Lorsque ce paramètre est défini sur OUI, seules les connexions via des points de terminaison privés sont autorisées vers votre base de données Azure Database pour MySQL. Lorsque ce paramètre est défini sur NON, les clients peuvent se connecter à votre base de données Azure Database pour MySQL en fonction des paramètres des points de terminaison de votre service de pare-feu ou de réseau virtuel. En outre, une fois la valeur d’accès au réseau privé définie, les clients ne peuvent ajouter et/ou mettre à jour ni des « règles de pare-feu » existantes, ni des « règles de points de terminaison du service de réseau virtuel ».

Notes

Cette fonctionnalité est disponible dans toutes les régions Azure où Azure Database pour MySQL – Serveur unique prend en charge les niveaux tarifaires Usage général et Mémoire optimisée.

Ce paramètre n’a aucun impact sur les configurations SSL et TLS pour votre base de données Azure Database pour MySQL.

Pour savoir comment définir l’option Refuser l’accès au réseau public pour votre base de données Azure Database pour MySQL à partir du portail Azure, consultez Configurer Refuser l’accès au réseau public.

Étapes suivantes

Pour en savoir plus sur les fonctionnalités de sécurité d’Azure Database pour MySQL, consultez les articles suivants :