Présentation de la connexion

Cette page explique comment se connecter aux bases de données gérées par AlloyDB pour PostgreSQL:

  • Mise en réseau:les instances AlloyDB utilisent des adresses IP publiques ou privées sur un cloud privé virtuel (VPC). Diverses techniques permettent de sécuriser les connexions à partir d'applications exécutées 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 des techniques d'authentification utilisateur PostgreSQL standards pour vous connecter à vos instances. AlloyDB est également compatible avec l'authentification basée sur IAM à l'aide de 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 pour le VPC que vous spécifiez lors de la première configuration du cluster d'une instance, ou une adresse IP publique qui autorise les connexions directes en dehors 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 la représentant) sans étapes ni ressources supplémentaires.

    Par exemple, Connecter un client psql à une instance explique comment vous connecter à votre instance AlloyDB en exécutant le programme de 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 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 en dehors 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 la section 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, qui est accessible sur 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 sécuriser les connexions entre le client et votre instance.

Pour en savoir plus sur l'ajout d'une adresse IP publique et de 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 étrangers, 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 un mTLS automatisé à l'aide de TLS 1.3 et une 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 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 la page À propos du proxy d'authentification AlloyDB.

Limiter l'accès au VPC avec des règles de pare-feu

Comme pour tout projet cloud, vous devez ajuster les règles de pare-feu de votre VPC pour limiter l'accès 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 en dehors de son VPC.

Pour en savoir plus sur la configuration du pare-feu de votre VPC, consultez la section Règles de pare-feu VPC.

Authentification

AlloyDB accepte deux types d'utilisateurs de bases de données, chacun ayant sa propre méthode d'authentification avec 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 de techniques de gestion des utilisateurs PostgreSQL ordinaires. Pour en savoir plus, consultez la section Gérer les rôles utilisateur AlloyDB.

  • Les comptes utilisateur et de service 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ème IAMGoogle Cloud . Pour en savoir plus, consultez la section Gérer l'authentification IAM.

Une fois authentifiée avec une instance AlloyDB, une application peut traiter l'instance comme un serveur PostgreSQL ordinaire. Après avoir établi des routes de mise en réseau et d'autorisation vers une instance, vous pouvez utiliser des techniques PostgreSQL standards pour vous connecter à une instance et accéder à vos données. Cela est vrai que vous vous connectiez manuellement à l'aide d'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 avec 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.

Étape suivante