Les connecteurs de langage AlloyDB sont des bibliothèques qui fournissent un processus simplifié pour établir des connexions sécurisées à votre cluster. Ils utilisent les éléments suivants:
- Connexions mTLS automatisées
- Prise en charge de l'autorisation basée sur Identity and Access Management (IAM)
- Authentification IAM automatisée
Les connecteurs de langage AlloyDB ne peuvent pas fournir de chemin d'accès réseau à un cluster AlloyDB s'il n'en existe pas déjà un.
Pour en savoir plus sur les connecteurs de langage AlloyDB, consultez la présentation des connecteurs de langage AlloyDB.
Cette page traite des connecteurs de langage AlloyDB suivants:
- Connecteur Java AlloyDB
- Connecteur AlloyDB Go
- Connecteur Python AlloyDB
Avant de commencer
Activez l'API AlloyDB Admin.
Créez une instance AlloyDB et configurez l'utilisateur par défaut.
Pour en savoir plus sur la création d'une instance, consultez la section Créer une instance principale.
Pour en savoir plus sur les rôles utilisateur, consultez la section Rôles IAM AlloyDB prédéfinis.
Configurez les rôles et autorisations suivants requis pour vous connecter à une instance AlloyDB:
roles/alloydb.client
roles/serviceusage.serviceUsageConsumer
Pour en savoir plus sur les rôles et les autorisations requis, consultez la page Gérer l'authentification IAM.
Installer les connecteurs linguistiques AlloyDB
Java
Le connecteur Java AlloyDB est une bibliothèque qui fournit une autorisation et un chiffrement basés sur IAM lors de la connexion à une instance AlloyDB.
Installation
Pour Maven, vous pouvez installer le connecteur Java AlloyDB en ajoutant ce qui suit au fichier pom.xml
de votre projet:
<!-- Add the connector with the latest version -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>alloydb-jdbc-connector</artifactId>
<version>0.4.0</version>
</dependency>
<!-- Add the driver with the latest version -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>46.6.0<</version>
</dependency>
<!-- Add HikariCP with the latest version -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
Pour Gradle, vous pouvez installer le connecteur Java AlloyDB en incluant les éléments suivants dans le fichier gradle.build
de votre projet:
// Add connector with the latest version
implementation group: 'com.google.cloud.alloydb', name: 'alloydb-jdbc-connector', version: '0.4.0'
// Add driver with the latest version
implementation group: 'org.postgresql', name: 'postgresql', version: '46.6.0'
// Add HikariCP with the latest version
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.1.0'
Python (pg8000)
Le connecteur Python AlloyDB est une bibliothèque qui peut être utilisée avec un pilote de base de données pour permettre aux utilisateurs disposant des autorisations suffisantes de se connecter à une base de données AlloyDB sans avoir à ajouter manuellement les adresses IP à la liste d'autorisation.
Installation
Vous pouvez installer la bibliothèque du connecteur Python AlloyDB avec pip install
.
Si vous utilisez pg8000, exécutez la commande suivante:
pip install "google-cloud-alloydb-connector[pg8000]" sqlalchemy
Python (asyncpg)
Le connecteur Python AlloyDB est une bibliothèque qui peut être utilisée avec un pilote de base de données pour permettre aux utilisateurs disposant des autorisations suffisantes de se connecter à une base de données AlloyDB sans avoir à ajouter manuellement les adresses IP à la liste d'autorisation.
Installation
Vous pouvez installer la bibliothèque du connecteur Python AlloyDB avec pip install
.
Si vous utilisez asyncpg, exécutez la commande suivante:
Pour asyncpg, utilisez:
pip install "google-cloud-alloydb-connector[asyncpg]" "sqlalchemy[asyncio]"
Pour en savoir plus sur l'utilisation des pilotes asynchrones, consultez la section Utilisation des pilotes asynchrones.
Go (pgx)
Le connecteur AlloyDB Go est un connecteur AlloyDB conçu pour être utilisé avec le langage Go.
Installation
Vous pouvez installer le connecteur AlloyDB Go avec go get
.
Si vous utilisez pgx, exécutez la commande suivante:
go get github.com/jackc/pgx/v5
go get cloud.google.com/go/alloydbconn
Go (database/sql)
Le connecteur AlloyDB Go est un connecteur AlloyDB conçu pour être utilisé avec le langage Go.
Installation
Vous pouvez installer le connecteur AlloyDB Go avec go get
.
Si vous utilisez database/sql, exécutez la commande suivante:
go get cloud.google.com/go/alloydbconn
Configurer les connecteurs linguistiques AlloyDB
Java
Pour utiliser le connecteur Java AlloyDB pour vous connecter à votre cluster AlloyDB, configurez-le en procédant comme suit.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, incluez les éléments suivants:
config.addDataSourceProperty("alloydbIpType", "PUBLIC");
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants:
config.addDataSourceProperty("alloydbIpType", "PSC");
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent une authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Java AlloyDB. Pour l'activer, incluez les éléments suivants:
config.addDataSourceProperty("alloydbEnableIAMAuth", "true");
Python (pg8000)
Pour utiliser le connecteur Python AlloyDB pour vous connecter à votre cluster AlloyDB, configurez le connecteur en procédant comme suit si vous utilisez pg8000
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction de connexion par la suivante:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent une authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Python AlloyDB. Pour l'activer, remplacez votre fonction de connexion par la suivante:
def getconn() -> pg8000.dbapi.Connection:
conn: pg8000.dbapi.Connection = connector.connect(
inst_uri,
"pg8000",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Python (asyncpg)
Pour utiliser le connecteur Python AlloyDB pour vous connecter à votre cluster AlloyDB, configurez le connecteur en procédant comme suit si vous utilisez async
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction de connexion par la suivante:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify public IP
ip_type=IPTypes.PUBLIC,
)
return conn
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use ip_type to specify PSC
ip_type=IPTypes.PSC,
)
return conn
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent une authentification intégrée. Vous pouvez utiliser l'authentification IAM automatique avec le connecteur Python AlloyDB. Pour l'activer, remplacez votre fonction de connexion par ce qui suit:
async def getconn() -> asyncpg.Connection:
conn: asyncpg.Connection = await connector.connect(
inst_uri,
"asyncpg",
user=user,
password=password,
db=db,
# use enable_iam_auth to enable IAM authentication
enable_iam_auth=True,
)
return conn
Go (pgx)
Pour utiliser le connecteur AlloyDB Go pour vous connecter à votre cluster AlloyDB, configurez le connecteur en procédant comme suit si vous utilisez pgx
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction d.Dial
par la suivante:
d.Dial(ctx, instURI, alloydbconn.WithPublicIP())
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent une authentification intégrée.
Vous pouvez utiliser l'authentification IAM automatique avec le connecteur AlloyDB Go. Pour l'activer, remplacez la fonction alloydbconn.NewDialer
par ce qui suit:
d, err := alloydbconn.NewDialer(ctx, alloydbconn.WithIAMAuthN())
Go (database/sql)
Pour utiliser le connecteur AlloyDB Go pour vous connecter à votre cluster AlloyDB, configurez le connecteur en procédant comme suit si vous utilisez database/sql
.
Pour utiliser cet extrait dans le contexte d'une application Web, consultez le fichier README sur GitHub.
Utiliser une adresse IP publique
Si vous utilisez une adresse IP publique pour vous connecter à votre cluster AlloyDB, remplacez votre fonction RegisterDriver
par la suivante:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPublicIP())
)
Utiliser Private Service Connect
Si vous utilisez Private Service Connect pour vous connecter à votre instance AlloyDB, incluez les éléments suivants:
cleanup, err := pgxv5.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)
Authentification IAM automatique
Par défaut, les connecteurs de langage AlloyDB utilisent une authentification intégrée.
Vous pouvez utiliser l'authentification IAM automatique avec le connecteur AlloyDB Go. Pour l'activer, remplacez votre fonction RegisterDriver
par ce qui suit:
cleanup, err := pgxv4.RegisterDriver(
"alloydb",
alloydbconn.WithIAMAuthN()
)