Cette page décrit la connectivité aux bases de données fournies par AlloyDB pour PostgreSQL. Pour en savoir plus, consultez Choisir comment se connecter à AlloyDB.
Mise en réseau : les instances AlloyDB utilisent des adresses IP publiques ou privées sur un cloud privé virtuel (VPC). Diverses techniques permettent d'établir des connexions sécurisées à partir d'applications s'exécutant en dehors du VPC.
Autorisation : le proxy d'authentification AlloyDB vous permet d'utiliser Identity and Access Management (IAM) pour contrôler qui a accès à vos données. Le pare-feu de votre VPC vous permet d'affiner davantage l'accès aux ressources AlloyDB.
Authentification : utilisez les techniques d'authentification des utilisateurs PostgreSQL standards pour vous connecter à vos instances. AlloyDB est également compatible avec l'authentification basée sur IAM à l'aide des rôles utilisateur PostgreSQL standards.
Mise en réseau
Même si une instance AlloyDB contient de nombreux nœuds, vos applications se connectent à une instance via une seule adresse IP statique. Cette adresse peut être privée au VPC que vous spécifiez lors de la première configuration du cluster d'une instance, ou une adresse IP publique qui permet des connexions directes depuis l'extérieur du VPC.
Adresse IP privée
Lorsque vous configurez AlloyDB avec une adresse IP privée, votre instance reçoit une adresse IP privée dans votre VPC.
Les adresses IP privées affectent les connexions à votre application de deux manières :
Les applications exécutées ailleurs dans le VPC de votre projet peuvent se connecter à l'instance (ou à un proxy représentant l'instance) sans étapes ni ressources supplémentaires.
Par exemple, Connecter un client psql à une instance montre comment se connecter à votre instance AlloyDB en exécutant le programme en ligne de commande
psql
sur une VM Compute Engine dans votre VPC.Les applications exécutées en dehors du VPC nécessitent un service intermédiaire pour se connecter à l'instance AlloyDB. Les solutions incluent l'exécution de services de proxy sur une VM dans le VPC de l'instance ou l'utilisation d'autres produitsGoogle Cloud pour établir une connexion permanente entre votre application et votre VPC.
Pour en savoir plus, consultez Se connecter à un cluster depuis l'extérieur de son 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.
Pour en savoir plus sur les adresses IP privées dans AlloyDB, consultez Présentation des adresses IP privées.
Adresse IP publique
Lorsque vous configurez AlloyDB avec une adresse IP publique, votre instance reçoit une adresse IP publique pour les connexions entrantes, accessible sur l'Internet public. Vous pouvez également utiliser des réseaux externes autorisés pour spécifier une plage d'adresses IP au format CIDR pouvant accéder à votre instance.
Nous vous recommandons d'utiliser une adresse IP publique avec les connecteurs de langage AlloyDB pour assurer des connexions sécurisées entre le client et votre instance.
Pour savoir comment ajouter une adresse IP publique et des réseaux externes autorisés à votre instance, consultez Se connecter à l'aide d'une adresse IP publique.
AlloyDB est également compatible avec les connexions sortantes vers votre instance. Vous pouvez activer l'adresse IP publique sortante pour migrer une base de données vers AlloyDB directement à partir d'une source externe à l'aide de Database Migration Service ou de configurations pglogical
autogérées. AlloyDB permet également de se connecter à une source de données externe à l'aide de wrappers de données étrangères, tels que postgres_fdw
ou oracle_fdw
.
Pour en savoir plus sur l'activation de l'adresse IP publique sortante, consultez Ajouter une connectivité sortante à une instance.
Autorisation
Vous pouvez contrôler l'accès à un cluster AlloyDB à l'aide des connecteurs de langage AlloyDB, du proxy d'authentification AlloyDB ou des règles de pare-feu VPC.
Connecteurs de langage AlloyDB
Les connecteurs de langage AlloyDB sont des bibliothèques clientes qui fournissent le mTLS automatisé à l'aide de TLS 1.3 et de l'autorisation IAM lors de la connexion à un cluster AlloyDB.
Vous pouvez utiliser ces bibliothèques directement à partir de leurs langages de programmation respectifs. Elles offrent les mêmes fonctionnalités que le proxy AlloyDB sans nécessiter de processus externe. Cela permet de renforcer la sécurité et de réduire les exigences de configuration pour la connexion à AlloyDB.
Pour en savoir plus, consultez la présentation des connecteurs de langage AlloyDB.
Contrôler les accès avec IAM et le proxy d'authentification AlloyDB
Bien que vous puissiez vous connecter directement à une instance via son adresse IP, nous vous recommandons d'utiliser le proxy d'authentification AlloyDB dans les environnements de production. Il fournit un contrôle des accès basé sur IAM et un chiffrement de bout en bout entre le proxy et votre cluster.
Pour en savoir plus, consultez À propos du proxy d'authentification AlloyDB.
Limiter l'accès au VPC avec des règles de pare-feu
Comme pour tout projet basé sur le cloud, vous devez ajuster les règles de pare-feu de votre VPC pour limiter l'accès au réseau aux plages d'adresses IP ou aux sous-réseaux à partir desquels vos applications se connectent. Cela est particulièrement important avec les applications externes, comme indiqué dans Se connecter à un cluster depuis l'extérieur de son VPC.
Pour en savoir plus sur la configuration du pare-feu de votre VPC, consultez Règles de pare-feu VPC.
Authentification
AlloyDB est compatible avec deux types d'utilisateurs de bases de données, chacun ayant sa propre méthode d'authentification auprès de vos bases de données :
Les rôles utilisateur PostgreSQL standards s'authentifient à l'aide d'un nom d'utilisateur et d'un mot de passe. Vous gérez ces comptes à l'aide des techniques habituelles de gestion des utilisateurs PostgreSQL. Pour en savoir plus, consultez Gérer les rôles utilisateur AlloyDB.
Les comptes de service et d'utilisateur IAM s'authentifient en tant qu'utilisateurs de base de données à l'aide de jetons OAuth 2.0. Vous gérez ces comptes à l'aide du systèmeGoogle Cloud IAM. Pour en savoir plus, consultez Gérer l'authentification IAM.
Une fois authentifiée auprès d'une instance AlloyDB, une application peut traiter l'instance comme un serveur PostgreSQL ordinaire. Une fois les routes réseau et d'autorisation établies vers une instance, vous pouvez utiliser les techniques PostgreSQL standards pour vous connecter à une instance et accéder à vos données. Cela vaut que vous vous connectiez manuellement avec un outil tel que psql
ou que vous vous connectiez à votre base de données de manière programmatique à l'aide d'une bibliothèque de code PostgreSQL.
En règle générale, votre première authentification auprès d'un nouveau cluster AlloyDB implique de vous connecter à son instance principale en tant qu'utilisateur postgres
, à l'aide du mot de passe que vous spécifiez lors de la création du cluster. À partir de là, vous devez créer des utilisateurs de base de données sans droits d'administrateur pour l'utilisation de votre application.
Étapes suivantes
- Choisissez comment vous connecter à AlloyDB.
Découvrez comment vous connecter à une instance AlloyDB avec le shell de ligne de commande
psql
. Cela inclut des instructions pour configurer une VM dans votre VPC et y installerpsql
.Découvrez comment créer une base de données.
Découvrez comment installer et utiliser le proxy d'authentification AlloyDB pour établir des connexions sécurisées avec votre instance AlloyDB.
Découvrez comment vous connecter à l'aide des connecteurs de langage AlloyDB.