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 :

  1. Créez une connexion AlloyDB.

  2. Accordez l'accès au compte de service.

Avant de commencer

  1. Activez l'API BigQuery Connection.

    Activer l'API

  2. 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
  • 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

  1. Accédez à la page IAM et administration.

    Accéder à IAM et administration

  2. Cliquez sur Accorder l'accès.

    La boîte de dialogue Ajouter des comptes principaux s'ouvre.

  3. 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.

  4. Dans le champ Sélectionner un rôle, sélectionnez AlloyDB, puis Client AlloyDB.

  5. 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 dans service-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 format project_id.region.connection_id ou region.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