Cette page présente les différentes manières de se connecter à l'instance Cloud SQL et décrit les options d'authentification et d'autorisation disponibles.
Présentation
Lorsque vous envisagez de vous connecter à votre instance Cloud SQL, vous devez tenir compte de nombreux éléments, tels que :
- Souhaitez-vous que votre instance Cloud SQL soit accessible depuis Internet ou reste privée dans un réseau de cloud privé virtuel (VPC), ou qu'elle soit accessible à la fois publiquement et de manière privée ?
- Comptez-vous écrire votre propre code de connexion ou vous connecter à l'aide d'outils accessibles publiquement, comme par exemple le proxy d'authentification Cloud SQL ou un client mysql ?
- Voulez-vous imposer le chiffrement via SSL/TLS ou autoriser le trafic non chiffré ?
Les sections suivantes présentent les options fournies par Cloud SQL pour se connecter, autoriser et s'authentifier auprès de votre base de données.
- Comment se connecter : chemin réseau à utiliser pour atteindre votre instance :
- Une adresse IP interne uniquement, VPC uniquement (privée).
- Une adresse IP externe et accessible à Internet (publique).
- Comment s'authentifier : connexions autorisées vous permettant de vous connecter à votre instance Cloud SQL :
- Les bibliothèques de connecteurs Cloud SQL et de proxy d'authentification Cloud SQL pour Java et Python, qui fournissent un accès basé sur IAM.
- Certificats SSL/TLS autogérés : ils n'autorisent que les connexions basées sur des clés publiques spécifiques.
- Réseaux autorisés : liste des adresses IP autorisées à se connecter.
- Comment s'authentifier : méthode de connexion à votre base de données.
- Authentification intégrée à la base de données : connectez-vous à l'aide d'un nom d'utilisateur/mot de passe défini dans le moteur de base de données.
Utilisez les informations suivantes pour déterminer les options de connexion, d'autorisation et d'authentification qui répondent le mieux à vos besoins.
Avant de commencer
Le fait d'accorder l'accès à une application ne permet pas automatiquement à un compte utilisateur de base de données de se connecter à l'instance. Pour pouvoir vous connecter à cette dernière, vous devez disposer d'un compte utilisateur de base de données permettant d'établir la connexion. Pour les nouvelles instances, cela signifie que vous devez avoir configuré le compte utilisateur par défaut. Pour en savoir plus, consultez la page Gérer les utilisateurs avec l'authentification intégrée.
Établir une connexion avec Cloud SQL
Les connexions aux bases de données consomment des ressources sur le serveur et sur l'application de connexion. Suivez toujours les bonnes pratiques en matière de gestion des connexions afin de réduire au maximum l'encombrement de votre application et les risques de dépassement des limites de connexion Cloud SQL. Pour en savoir plus, consultez la page Gérer les connexions à la base de données.
Adresses IP publique et privée
Dans Cloud SQL, une adresse IP publique signifie que l'instance est accessible via l'Internet public. En revanche, les instances qui n'utilisent que des adresses IP privées ne sont pas accessibles via l'Internet public, mais le sont via un cloud privé virtuel (VPC). Les instances Cloud SQL peuvent avoir une adresse IP publique et une adresse IP privée.
Adresse IP privée
Une adresse IP privée est une adresse IPv4 qui est accessible sur un cloud privé virtuel (VPC).
Vous pouvez utiliser cette adresse pour vous connecter à partir d'autres ressources ayant accès au VPC. Les connexions via une adresse IP privée offrent généralement une latence plus faible et des vecteurs d'attaque limités, car leur transit par Internet n'est pas nécessaire. Si vous le souhaitez, vous pouvez exiger que toutes les connexions utilisent le proxy Cloud SQL ou les certificats SSL autogérés.
Lorsque la connexion s'effectue à partir d'un client sur une ressource ayant accès à un réseau VPC, il est préférable d'utiliser une adresse IP privée. Pour en savoir plus sur les ressources pouvant utiliser une adresse IP privée, consultez la page Conditions requises pour utiliser une adresse IP privée.
Pour les chemins d'accès des adresses IP privées, les services et applications suivants se connectent directement à votre instance via l'accès au VPC sans serveur :
- Environnement standard App Engine
- Environnement flexible App Engine
- Cloud Run Functions
- Cloud Run
Découvrez comment utiliser une adresse IP privée avec Cloud SQL.
Pour obtenir des instructions sur l'ajout d'une adresse IP privée à votre instance, consultez l'une des pages suivantes :
- Configurer la connectivité IP privée
- Se connecter à une instance à l'aide de Private Service Connect
Adresse IP publique
Une adresse IP publique est une adresse IPv4 qui est accessible en externe sur l'Internet public. Cette adresse peut recevoir des connexions provenant d'appareils internes et externes au réseau Google, y compris depuis votre domicile ou votre bureau.
Pour sécuriser votre instance, les connexions à une instance Cloud SQL utilisant une adresse IP publique doivent être autorisées via le proxy d'authentification Cloud SQL ou les réseaux autorisés.
La configuration d'une instance avec une adresse IP publique est préférable lorsque vous vous connectez depuis un client qui ne répond pas aux exigences d'un VPC.
Pour savoir comment ajouter une adresse IP publique à votre instance, consultez la page Configurer la connectivité IP publique.
Pour en savoir plus sur la connexion d'un client mysql à une instance Cloud SQL à l'aide d'une adresse IP publique, consultez la page Se connecter à l'aide d'un client de base de données.
Adresses IP attribuées de manière dynamique
Certaines applications doivent se connecter à votre instance Cloud SQL au moyen d'une adresse IP attribuée de manière dynamique ou éphémère. C'est le cas, entre autres, des applications PaaS (Platform as a Service).
La meilleure solution pour ces applications consiste à se connecter à l'aide du proxy d'authentification Cloud SQL. Cette solution fournit le meilleur contrôle d'accès pour votre instance.
Options de connexion pour les instances
Cette section contient les fonctionnalités compatibles avec Cloud SQL pour la connexion aux instances. Cette section contient également les options de connexion compatibles pour créer, désactiver et activer des instances.
Fonctionnalités compatibles
Le tableau suivant liste les fonctionnalités compatibles avec Cloud SQL pour se connecter aux instances à l'aide de connexions privées.
Caractéristique | Instance avec accès aux services privés uniquement | Instance avec Private Service Connect uniquement | Instance avec accès aux services privés et Private Service Connect |
---|---|---|---|
Se connecter à partir de plusieurs VPC | Non compatible | Compatible | Pris en charge à l'aide du point de terminaison Private Service Connect. |
Instances dupliquées externes | Compatible | Non compatible | Pris en charge par l'utilisation de la connectivité sortante pour l'accès aux services privés. |
Point de terminaison d'écriture | Compatible | Non compatible | Compatible avec l'accès aux services privés. |
Modifier le réseau VPC associé pour l'accès aux services privés | Compatible | Non applicable. | L'accès aux services privés n'est pas pris en charge, car Private Service Connect est activé pour l'instance. Non applicable à Private Service Connect. |
Visibilité de l'adresse IP du client par Cloud SQL | Compatible | Non compatible | Compatible avec l'adresse IP d'accès aux services privés. Non compatible avec le point de terminaison Private Service Connect. |
Options de connexion pour la création d'instances
Cloud SQL est compatible avec les configurations d'adresses IP privées et publiques. Vous pouvez choisir des options de connexion en fonction des exigences de votre application.
Vous pouvez configurer une adresse IP privée pour que vos instances Cloud SQL restent privées dans un réseau VPC. Les types de connexions privées suivants sont acceptés:
- Accès aux services privés: connectez-vous aux instances Cloud SQL à partir d'un seul réseau VPC.
- Private Service Connect: connectez-vous à des instances Cloud SQL à partir de plusieurs réseaux VPC appartenant à différents groupes, équipes, projets ou organisations.
Si vous souhaitez que votre instance accède aux connexions des clients à la fois à l'intérieur et à l'extérieur du réseau Google Cloud via Internet public, configurez une adresse IP publique pour l'instance.
Cloud SQL est compatible avec les options de connexion suivantes pour la création d'instances:
- Accès aux services privés uniquement
- Private Service Connect uniquement
- Adresse IP publique uniquement
- L'accès aux services privés et Private Service Connect
- Accès aux services publics et privés
- Adresse IP publique, accès aux services privés et Private Service Connect
Désactiver les options de connexion
Cloud SQL permet de désactiver les options de connexion suivantes pour les instances:
- Adresse IP publique sur une instance avec accès aux services privés et adresse IP publique
- Adresse IP publique sur une instance avec adresse IP publique, accès aux services privés et Private Service Connect
- Private Service Connect sur une instance avec Private Service Connect et l'accès aux services privés
- Private Service Connect sur une instance avec Private Service Connect, l'accès aux services privés et une adresse IP publique
Activer les options de connexion
Cloud SQL permet d'activer les options de connexion suivantes pour les instances:
- Accès aux services privés sur une instance avec une adresse IP publique uniquement
- Private Service Connect sur une instance avec accès aux services privés uniquement
- Private Service Connect sur une instance avec à la fois l'accès aux services privés et une adresse IP publique
- Adresse IP publique sur une instance avec accès aux services privés uniquement
Limites
- Il n'est pas possible de créer une instance avec une adresse IP publique et Private Service Connect.
- La désactivation de l'accès aux services privés sur une instance où l'accès aux services privés et Private Service Connect sont activés n'est pas possible.
- Il n'est pas possible de désactiver l'accès aux services privés sur une instance qui dispose à la fois d'un accès aux services privés et d'une adresse IP publique.
- Si vous disposez d'une instance qui n'utilise qu'une adresse IP publique, l'activation simultanée de l'accès aux services privés et de Private Service Connect n'est pas possible. Activez d'abord l'accès aux services privés, puis Private Service Connect.
- L'ajout à la liste d'autorisation basé sur l'adresse IP en utilisant des réseaux autorisés n'est pas accepté pour les instances pour lesquelles Private Service Connect est activé.
Accorder des autorisations avec Cloud SQL
Connecteurs de langage Cloud SQL
Les connecteurs de langage Cloud SQL sont des bibliothèques clientes qui fournissent des fonctionnalités de chiffrement et d'autorisation IAM lors de la connexion à une instance Cloud SQL. Cloud SQL recommande d'utiliser les connecteurs de langage Cloud SQL pour se connecter à votre instance Cloud SQL plutôt que d'autres options de connexion.
Vous pouvez utiliser ces bibliothèques directement à partir de leur langage de programmation compatible. Elles fournissent la même authentification que le proxy d'authentification Cloud SQL, sans processus externe. Cela permet de renforcer la sécurité et de réduire les exigences de configuration pour la connexion à Cloud SQL. Les connecteurs de langage Cloud SQL utilisent également le même code lorsque la connexion est établie à l'aide d'une adresse IP publique ou d'une adresse IP privée.
Pour commencer, consultez la section À propos des connecteurs de langage Cloud SQL.
Proxy d'authentification Cloud SQL
Le proxy d'authentification Cloud SQL vous permet d'authentifier et de sécuriser vos connexions à l'aide des autorisations IAM (Identity and Access Management). Le proxy d'authentification Cloud SQL valide les connexions en utilisant les identifiants d'un utilisateur ou d'un compte de service et en encapsulant la connexion dans une couche SSL/TLS qui est autorisée pour une instance Cloud SQL. Pour en savoir plus sur le fonctionnement du proxy d'authentification Cloud SQL, consultez la page À propos du proxy d'authentification Cloud SQL.
L'utilisation du proxy d'authentification Cloud SQL est recommandée pour l'authentification des connexions à une instance Cloud SQL, car il s'agit de la méthode la plus sécurisée.
Le proxy d'authentification Cloud SQL est une bibliothèque Open Source distribuée en tant que binaire exécutable. Le proxy d'authentification Cloud SQL agit comme un serveur intermédiaire qui écoute les connexions entrantes, les encapsule en SSL/TLS, puis les transmet à une instance Cloud SQL.
Certains environnements fournissent un mécanisme de connexion à l'aide du proxy d'authentification Cloud SQL. Pour savoir comment vous connecter à l'aide de ces environnements, consultez l'une des pages suivantes :
- Se connecter depuis Cloud Run
- Se connecter depuis les fonctions Cloud Run
- Se connecter depuis l'environnement standard App Engine
- Se connecter depuis l'environnement flexible App Engine
- Se connecter depuis Google Kubernetes Engine
Certificats SSL/TLS autogérés
Au lieu d'utiliser le proxy d'authentification Cloud SQL pour chiffrer vos connexions, il est possible de configurer des certificats SSL/TLS client/serveur spécifiques à une instance Cloud SQL. Ces certificats permettent à la fois de valider le client/serveur et de chiffrer les connexions entre eux.
Il est fortement recommandé d'utiliser des certificats SSL/TLS autogérés pour assurer le chiffrement lorsque vous n'utilisez pas le proxy d'authentification Cloud SQL. À défaut, vos données sont transmises de manière non sécurisée, et peuvent être interceptées ou inspectées par un tiers.
Pour commencer à utiliser les certificats SSL/TLS autogérés, consultez la section Autoriser avec des certificats SSL/TLS.
Réseaux autorisés
À moins d'utiliser le proxy d'authentification Cloud SQL, les connexions à l'adresse IP publique d'une instance ne sont autorisées que si elles proviennent d'un réseau autorisé. Les réseaux autorisés sont des adresses IP ou des plages spécifiées par l'utilisateur auxquelles il est possible de se connecter.
Pour commencer à utiliser les réseaux autorisés, consultez la page Autoriser avec des réseaux autorisés.
S'authentifier auprès de Cloud SQL
L'authentification permet de contrôler les accès en validant l'identité d'un utilisateur. Pour les utilisateurs finaux, l'authentification est réalisée lorsque l'utilisateur saisit des identifiants (un nom d'utilisateur et un mot de passe). Pour les applications, l'authentification est effectuée lorsque les identifiants d'un utilisateur sont attribués à un compte de service.
Cloud SQL utilise l'authentification intégrée à la base de données qui authentifie à l'aide d'un nom d'utilisateur et d'un mot de passe. Pour en savoir plus, consultez la page Créer et gérer des utilisateurs MySQL.
Outils permettant de se connecter à Cloud SQL
Le tableau suivant contient des options permettant de se connecter à Cloud SQL :
Option de connexion | En savoir plus |
---|---|
Proxy d'authentification Cloud SQL | |
gcloud CLI | |
Connecteurs de langage Cloud SQL | |
Cloud Shell | |
Apps Script | |
Cloud Code | |
Se connecter à l'aide d'outils d'administration de bases de données tiers | |
MySQL Workbench | |
Toad pour MySQL | |
SQuirrel SQL | |
phpMyAdmin |
Exemples de code
Vous pouvez vous connecter au proxy d'authentification Cloud SQL au moyen de n'importe quel langage permettant la connexion à un socket Unix ou TCP. Vous trouverez ci-dessous des extraits de code tirés d'exemples complets disponibles sur GitHub pour vous aider à comprendre comment ils fonctionnent ensemble dans votre application.
Résoudre les problèmes
Si vous rencontrez des problèmes de connexion, consultez les pages suivantes pour obtenir des conseils de débogage ou de recherche de solutions à des problèmes connus :
- Déboguer les problèmes de connexion
- Erreurs de connectivité connues
- Dépannage des problèmes de connexion au proxy d'authentification Cloud SQL
- Problèmes de connexion courants
Étape suivante
- Découvrez comment vous connecter grâce au guide de démarrage rapide de Cloud SQL pour MySQL.
- Découvrez les bonnes pratiques de gestion des connexions à la base de données.
- Apprenez-en davantage sur l'authentification IAM pour les bases de données.
- Découvrez comment vous connecter à l'aide d'un client mysql à partir d'une machine locale ou de Compute Engine.
- Découvrez comment configurer la connectivité IP.
- Découvrez comment vous connecter avec d'autres outils MySQL.
- Informez-vous sur les connecteurs MySQL.
- Apprenez-en plus sur le proxy d'authentification Cloud SQL.
- Apprenez-en plus sur les Options de support.