Se connecter à AlloyDB pour PostgreSQL
En tant qu'administrateur BigQuery, vous pouvez créer une connexion permettant d'accéder aux données AlloyDB. Cette connexion permet aux analystes de données d'interroger des données dans AlloyDB.
Pour vous connecter à AlloyDB, procédez comme suit :
Avant de commencer
- Activez l'API BigQuery Connection.
-
Pour obtenir les autorisations nécessaires pour créer une connexion AlloyDB, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de connexion BigQuery (
roles/bigquery.connectionAdmin
) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une connexion AlloyDB
Il est recommandé d'utiliser des connexions pour gérer les identifiants de base de données lorsque vous vous connectez à AlloyDB. Les connexions sont chiffrées et stockées de manière sécurisée dans le service de connexion BigQuery. Si les identifiants utilisateur sont valides pour d'autres données de la source, vous pouvez réutiliser la connexion. Par exemple, vous pouvez utiliser une connexion pour interroger plusieurs fois la même base de données dans une instance AlloyDB.
Sélectionnez l'une des options suivantes pour créer une connexion AlloyDB :
bq
Saisissez la commande bq mk
avec les options suivantes :
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "google-alloydb",
"asset": {
"database": "DATABASE",
"google_cloud_resource": "RESOURCE_PATH"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
}
}' \
CONNECTION_ID
Remplacez les éléments suivants :
LOCATION
: spécifiez une région de l'ensemble de données BigQuery à combiner avec les données d'AlloyDB. Les requêtes utilisant cette connexion doivent être exécutées à partir de cette région.PROJECT_ID
: saisissez l'ID de votre projet Google Cloud.DATABASE
: saisissez le nom de la base de données.RESOURCE_PATH
: saisissez l'URI de connexion de l'instance principale AlloyDB avec le préfixe //alloydb.googleapis.com. Les instances de lecture AlloyDB ne sont pas compatibles.- Exemple d'URI :
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- Exemple d'URI :
USERNAME
: saisissez le nom de l'utilisateur de la base de données.PASSWORD
: saisissez le mot de passe de l'utilisateur de la base de données.CONNECTION_ID
: saisissez un ID de connexion afin d'identifier cette connexion.
API
Au sein de l'API BigQuery Connection, vous pouvez appeler CreateConnection
dans ConnectionService
pour instancier une connexion. Pour en savoir plus, consultez la page sur les bibliothèques clientes.
Accorder l'accès au compte de service
Un compte de service est créé automatiquement lorsque vous créez la première connexion au sein d'un projet. Le nom du compte de service est Agent du service de connexion BigQuery. L'ID du compte de service est au format suivant :
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
Pour vous connecter à AlloyDB, vous devez accorder à la nouvelle connexion un accès en lecture seule à AlloyDB afin que BigQuery puisse accéder aux données pour le compte des utilisateurs. Le compte de service doit disposer des autorisations suivantes :
alloydb.instances.connect
Vous pouvez accorder au compte de service associé à la connexion le rôle IAM du client AlloyDB, auquel cette autorisation est déjà attribuée. Vous pouvez omettre cette étape si le compte de service dispose déjà de l'autorisation requise.
Console
Accédez à la page IAM et administration.
Cliquez sur
Accorder l'accès.La boîte de dialogue Ajouter des comptes principaux s'ouvre.
Dans le champ Nouveaux comptes principaux, saisissez le nom du compte de service Agent du service de connexion BigQuery ou l'ID du compte de service récupéré depuis les informations de connexion.
Dans le champ Sélectionner un rôle, sélectionnez AlloyDB, puis Client AlloyDB.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client
Indiquez les valeurs suivantes :
PROJECT_ID
: ID de votre projet Google Cloud.SERVICE_ACCOUNT_ID
: remplacez le numéro de projet dansservice-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
et utilisez-le.
Partager des connexions avec les utilisateurs
Vous pouvez attribuer les rôles suivants pour permettre aux utilisateurs d'interroger des données et de gérer les connexions :
roles/bigquery.connectionUser
permet aux utilisateurs de se connecter à des sources de données externes et d'y exécuter des requêtes.roles/bigquery.connectionAdmin
permet aux utilisateurs de gérer les connexions.
Pour en savoir plus sur les rôles et les autorisations IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Sélectionnez l'une des options suivantes :
bq
Exécutez la commande set-iam-policy
suivante :
bq set-iam-policy RESOURCE FILE_NAME
Remplacez les éléments suivants :
RESOURCE
: saisissez le nom de la ressource au formatproject_id.region.connection_id
ouregion.connection_id
.FILE_NAME
: saisissez le nom du fichier contenant la stratégie IAM au format JSON.
Pour en savoir plus sur la commande set-iam-policy, consultez la section Contrôler l'accès aux ressources avec IAM.
API
Utilisez la méthode projects.locations.connections.setIAM
dans la section de référence de l'API REST BigQuery Connections et fournissez une instance de la ressource policy
.
Étapes suivantes
- Découvrez les différents types de connexions.
- Découvrez comment gérer les connexions.
- En savoir plus sur les requêtes fédérées.
- Découvrez comment interroger les données AlloyDB.