Aller au contenu

Connecter BigQuery

Streya se connecte à BigQuery au moyen d’un compte de service — une identité dédiée, non humaine, que vous créez dans Google Cloud et dont vous limitez la portée aux données que Streya doit voir.

  • Un compte de service Google Cloud disposant d’un accès en lecture seule aux ensembles de données pertinents.
  • Le fichier de clé JSON du compte de service.

Dans la console Google Cloud :

  1. Sélectionnez le projet qui contient vos données.
  2. Allez dans IAM et administration → Comptes de service → Créer un compte de service.
  3. Donnez-lui un nom reconnaissable, p. ex. streya-reader.

Le compte de service a besoin de deux choses : la permission de lire les données et la permission d’exécuter des requêtes.

Accordez les rôles suivants :

RôlePourquoi
BigQuery Data Viewer (roles/bigquery.dataViewer)Lire les tables et leurs schémas
BigQuery Job User (roles/bigquery.jobUser)Exécuter des requêtes dans le projet
  1. Ouvrez le compte de service → Clés → Ajouter une clé → Créer une clé.
  2. Choisissez JSON et téléchargez le fichier.

Le fichier de clé ressemble à ceci :

{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "",
"private_key": "-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----\n",
"client_email": "streya-reader@your-project-id.iam.gserviceaccount.com",
"client_id": "",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}

Streya requiert les champs type, project_id, private_key et client_email — le fichier de clé standard les contient tous, vous pouvez donc utiliser le fichier tel quel.

Dans Streya, allez dans Paramètres de l’espace de travail → Entrepôt de données, choisissez BigQuery, puis fournissez votre clé :

ChampQuoi saisir
Clé du compte de service (JSON)Téléversez le fichier de clé JSON, ou collez-y son contenu intégral

Cliquez sur Connecter l’entrepôt de données. Streya exécute une requête de test et affiche l’état de la connexion. Vos identifiants sont chiffrés et stockés dans un gestionnaire de secrets dédié — consultez Connexions de données pour savoir comment les identifiants sont traités.

  • Access Denied sur une table — il manque au compte de service le rôle Data Viewer sur l’ensemble de données de cette table.
  • Permission denied while creating job — il manque au compte de service le rôle Job User au niveau du projet.
  • Rotation des clés — si votre politique de sécurité impose la rotation des clés, générez une nouvelle clé JSON, puis ouvrez Paramètres de l’espace de travail → Entrepôt de données → Modifier la connexion et collez la nouvelle clé; la connexion est mise à jour sans interruption.