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 page Gérer l'accès aux projets, aux dossiers et aux organisations.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 :
Console
Accédez à la page BigQuery.
Dans le volet Explorateur, cliquez sur
Ajouter.Dans la boîte de dialogue Ajouter, cliquez sur Connexions aux sources de données externes:
Dans la boîte de dialogue Source de données externes, saisissez les informations suivantes :
- Dans le champ Type de connexion, sélectionnez AlloyDB.
- Dans le champ Connection ID (ID de connexion), saisissez un identifiant pour la ressource de connexion. Les lettres, les chiffres et les traits de soulignement sont autorisés. Exemple :
bq_alloydb_connection
. - Pour Emplacement des données, sélectionnez un emplacement (ou une région) BigQuery compatible avec votre région de source de données externe.
- Facultatif : Dans le champ Nom descriptif, saisissez un nom clair pour identifier la connexion, tel que
My connection resource
. Le nom descriptif peut être n'importe quelle valeur permettant d'identifier la ressource de connexion si vous devez la modifier par la suite. - Facultatif : Dans le champ Description, saisissez une description pour la ressource de connexion.
- Facultatif : Chiffrement : Si vous souhaitez utiliser une clé de chiffrement gérée par le client (CMEK) pour chiffrer vos identifiants, sélectionnez Clé de chiffrement gérée par le client (CMEK), puis sélectionnez une clé gérée par le client. Sinon, vos identifiants sont protégés par la clé de chiffrement par défaut, appartenant à Google et gérée par Google.
- Dans le champ Nom de la base de données, saisissez le nom de la base de données.
- Comme Nom d'utilisateur de base de données, saisissez le nom d'utilisateur de la base de données.
- Dans le champ Mot de passe de la base de données, saisissez le mot de passe d'accès à la base de données.
- Facultatif : Pour afficher le mot de passe, cliquez sur Afficher le mot de passe.
Pour Instance AlloyDB, saisissez l'URI de connexion de l'instance AlloyDB principale ou avec accès en lecture, en spécifiant le préfixe //alloydb.googleapis.com.
- Exemple d'URI :
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- Exemple d'URI :
Cliquez sur Créer une connexion.
Cliquez sur Accéder à la connexion.
Dans le volet Informations de connexion, copiez l'ID du compte de service, que vous utiliserez à l'étape suivante pour accorder les autorisations IAM appropriées.
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 AlloyDB principale ou avec accès en lecture, en spécifiant le préfixe //alloydb.googleapis.com.- 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 :
Console
Accédez à la page BigQuery.
Les connexions sont répertoriées dans votre projet, dans un groupe appelé Connexions externes.
Dans le volet Explorateur, cliquez sur votre nom de projet > Connexions externes > connexion.
Dans le volet Détails, cliquez sur Partager pour partager une connexion. Ensuite, procédez comme suit :
Dans la boîte de dialogue Autorisations de connexion, partagez la connexion avec d'autres comptes principaux en ajoutant ou en modifiant des comptes principaux.
Cliquez sur Enregistrer.
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 des données AlloyDB.