Prérequis
- Par défaut, l’authentification BigQuery utilise un accès basé sur les rôles. Vous aurez besoin du nom du compte de service du service de synchronisation des données pour accorder l’accès. Il devrait ressembler à
some-name@some-project.iam.gserviceaccount.com.
Étape 1 : créer un compte de service dans le projet BigQuery
- Dans la console GCP, naviguez vers le menu IAM & Admin, cliquez sur l’onglet Service Accounts et cliquez sur Create service account en haut du menu.
- À la première étape, nommez l’utilisateur et cliquez sur Create and Continue.
- À la deuxième étape, accordez à l’utilisateur le rôle BigQuery User.
🚧 Comprendre le rôle BigQuery User Le rôle BigQuery User est un rôle IAM prédéfini qui permet la création de nouveaux datasets, le créateur recevant BigQuery Data Owner sur le nouveau dataset. Si vous souhaitez éviter d’utiliser le rôle BigQuery User, les permissions minimales requises sont :Remarque : ces permissions minimales supposent que le dataset n’a pas été créé à l’avance. Si vous créez le dataset à l’avance, consultez la note suivante.
- Au niveau du projet :
bigquery.datasets.createbigquery.datasets.getbigquery.jobs.create
🚧 Charger des données dans un Dataset qui existe déjà Par défaut, un nouveau dataset (avec un nom que vous fournissez) sera créé dans le projet BigQuery. Si vous créez plutôt le dataset à l’avance, vous devrez accorder le rôle BigQuery Data Owner à ce compte de service au niveau du dataset. Dans BigQuery, cliquez sur le dataset existant. Dans l’onglet du dataset, cliquez sur Sharing, puis sur Permissions. Cliquez sur Add Principals. Saisissez le nom du compte de service, puis ajoutez le rôle : BigQuery Data Owner Plus précisément, les permissions minimales requises peuvent être accordées au principal et appliquées au Dataset :Au niveau du Projet, vous aurez toujours besoin de
bigquery.tables.createbigquery.tables.deletebigquery.tables.getbigquery.tables.getDatabigquery.tables.listbigquery.tables.updatebigquery.tables.updateDatabigquery.routines.getbigquery.routines.listbigquery.jobs.create, mais vous n’aurez pas besoin debigquery.datasets.createni debigquery.datasets.get.
- À la troisième étape (étape Grant users access to this service account), dans le champ Service account users role, saisissez le compte de service fourni (voir prérequis) et cliquez sur Done.
- Une fois créé avec succès, recherchez le compte de service créé dans la liste des comptes de service, cliquez sur le nom du compte de service pour afficher les détails et notez l’email (remarque : c’est un email différent du compte de service du service).
- Sélectionnez l’onglet permissions, trouvez le nom de principal fourni (compte de service du prérequis), cliquez sur le bouton Edit principal (icône crayon), cliquez sur Add another role, sélectionnez le rôle Service Account Token Creator, puis cliquez sur Save.
🚧 Méthode d’authentification alternative : accorder un accès direct au compte de service L’authentification basée sur les rôles est le mode d’authentification préféré pour BigQuery selon les recommandations de GCP. Cependant, fournir une clé de compte de service pour se connecter directement au compte de service créé est une méthode d’authentification alternative qui peut être utilisée si vous préférez.
- De retour dans le menu Service accounts, cliquez sur le menu déroulant Actions à côté du compte de service nouvellement créé et cliquez sur Manage keys.
- Cliquez sur Add key, puis sur Create new key.
- Sélectionnez le type de clé JSON et cliquez sur Create et notez la clé générée.
Étape 2 : créer un bucket de staging
- Connectez-vous à la Google Cloud Console et naviguez vers Cloud Storage. Cliquez sur Create pour créer un nouveau bucket.
- Choisissez un name pour le bucket. Cliquez sur Continue. Sélectionnez une location pour le bucket de staging. Notez à la fois le name et l’emplacement (region).
🚧 Choisir unelocation(région) L’emplacement que vous choisissez pour votre bucket de staging doit correspondre à l’emplacement de votre dataset de destination dans BigQuery. Lors de la création de votre bucket, veillez à choisir une région prise en charge par BigQuery (voir les régions BigQuery)
- Si le dataset n’existe pas encore, le dataset sera créé pour vous dans la même région que celle où vous avez créé votre bucket.
- Si le dataset existe, la région du dataset doit correspondre à l’emplacement que vous choisissez pour votre bucket.
- Cliquez sur continue et sélectionnez les options suivantes selon vos préférences. Une fois les options renseignées, cliquez sur Create.
- Sur la page Bucket details qui apparaît, cliquez sur l’onglet Permissions, puis cliquez sur Add.
- Dans le menu déroulant New principles, ajoutez le compte de service créé à l’étape 1, sélectionnez le rôle Storage Admin et cliquez sur Save.
Étape 3 : trouver l’ID du projet
- Connectez-vous à la Google Cloud Console et sélectionnez le menu déroulant de la liste des projets.
- Notez l’ID du projet BigQuery.
Étape 4 : ajouter votre destination
- Partagez en toute sécurité avec nous votre Project ID, Bucket Name, Bucket Location, Destination Schema Name et Service Account name pour finaliser la connexion.

