Rôles et autorisations prédéfinis

Cette page fournit des informations sur les rôles et les autorisations Cloud IAM (Cloud Identity and Access Management) de BigQuery.

Cette page inclut les rôles et les autorisations correspondant à chacun des produits associés de BigQuery :

  • BigQuery ML
  • BigQuery Data Transfer Service
  • BigQuery BI Engine

Pour en savoir plus sur les contrôles d'accès dans BigQuery ML, consultez la page Contrôle des accès dans la documentation BigQuery ML.

Aperçu

Lorsqu'une identité appelle une API Google Cloud Platform, BigQuery exige qu'elle dispose des autorisations appropriées pour accéder à la ressource. Vous pouvez accorder des autorisations en attribuant des rôles à un utilisateur, à un groupe ou à un compte de service.

Cette page décrit les rôles Cloud IAM BigQuery que vous pouvez accorder aux identités pour accéder aux ressources BigQuery.

Types de rôles Cloud IAM

Il existe trois types de rôles dans Cloud Identity and Access Management :

  • Les rôles primitifs correspondent aux rôles "Propriétaire", "Éditeur" et "Lecteur" qui existaient avant la mise en place de Cloud Identity and Access Management.
  • Les rôles prédéfinis fournissent un accès précis à un service spécifique et sont gérés par GCP. Ils sont conçus pour accepter des cas d'utilisation courants et des modèles de contrôle des accès.
  • Les rôles personnalisés fournissent un accès précis en fonction d'une liste d'autorisations spécifiée par l'utilisateur.

Pour déterminer si une ou plusieurs autorisations sont incluses dans un rôle primitif, prédéfini ou personnalisé, vous pouvez employer l'une des méthodes suivantes :

Lorsque vous attribuez des rôles prédéfinis et des rôles primitifs à un utilisateur, les autorisations accordées correspondent à une combinaison des autorisations de chaque rôle.

Pour en savoir plus sur l'utilisation de Cloud IAM pour accéder à des ressources, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation Cloud Identity and Access Management.

Pour en savoir plus sur la création de rôles personnalisés, consultez la page Créer et gérer les rôles personnalisés dans la documentation Cloud Identity and Access Management.

Autorisations BigQuery et rôles Cloud IAM prédéfinis

Pour accorder l'accès à une ressource BigQuery, attribuez un ou plusieurs rôles à un utilisateur, un groupe ou un compte de service. Lorsque vous attribuez des rôles au niveau de l'organisation et du projet, vous fournissez des autorisations pour exécuter des tâches BigQuery ou pour gérer toutes les ressources BigQuery d'un projet.

Vous pouvez également affecter des rôles au niveau de l'ensemble de données pour ne fournir l'accès qu'à un ou plusieurs ensembles de données. Dans la hiérarchie des stratégies Cloud IAM, les ensembles de données BigQuery sont des ressources enfants de projets. Les tables et les vues sont les ressources enfants des ensembles de données. Elles héritent donc des autorisations de leur ensemble de données parent.

Pour en savoir plus sur l'attribution de rôles au niveau de l'ensemble de données, consultez la page Contrôler l'accès aux ensembles de données.

Autorisations BigQuery

Le tableau suivant décrit les autorisations disponibles dans BigQuery.

Permission Description
bigquery.jobs.create Créer des tâches
bigquery.jobs.listAll Répertorier toutes les tâches et récupérer les métadonnées de n'importe quelle tâche envoyée par un utilisateur*
bigquery.jobs.list Répertorier toutes les tâches et récupérer les métadonnées de n'importe quelle tâche envoyée par un utilisateur* Les informations et les métadonnées des tâches envoyées par d'autres utilisateurs sont masquées.
bigquery.jobs.get Obtenir les données et les métadonnées de n'importe quelle tâche*
bigquery.jobs.update Annuler n'importe quelle tâche*
bigquery.datasets.create Créer des ensembles de données vides
bigquery.datasets.delete Supprimer un ensemble de données
bigquery.datasets.get Obtenir les métadonnées d'un ensemble de données
bigquery.datasets.update Mettre à jour les métadonnées d'un ensemble de données
bigquery.tables.create Créer des tables
bigquery.tables.list Répertorier des tables et leurs métadonnées
bigquery.tables.delete Supprimer des tables
bigquery.tables.get Obtenir les métadonnées d'une table
Vous avez besoin de bigquery.tables.getData pour obtenir les données d'une table.
bigquery.tables.getData Obtenir les données d'une table. Cette autorisation est requise pour interroger les données d'une table.
Vous avez besoin de bigquery.tables.get pour obtenir les métadonnées d'une table.
bigquery.tables.export Exporter les données d'une table de BigQuery
bigquery.tables.update

Mettre à jour les métadonnées d'une table
Vous avez besoin de bigquery.tables.updateData pour mettre à jour les données d'une table.

bigquery.tables.updateData

Mettre à jour les données d'une table
Vous avez besoin de bigquery.tables.update pour mettre à jour les métadonnées d'une table.

bigquery.routines.create (bêta) Créer des routines (fonctions et procédures stockées)
bigquery.routines.list (bêta) Répertorier des routines et leurs métadonnées
bigquery.routines.delete (bêta) Supprimer des routines
bigquery.routines.get (bêta) Obtenir des définitions et des métadonnées de routine
bigquery.routines.update (bêta)

Mettre à jour des définitions et des métadonnées de routine

bigquery.transfers.get Obtenir des métadonnées de transfert
bigquery.transfers.update Créer, mettre à jour et supprimer des transferts
bigquery.savedqueries.create Créer des requêtes enregistrées
bigquery.savedqueries.get Obtenir les métadonnées des requêtes enregistrées
bigquery.savedqueries.list Répertorier les requêtes enregistrées
bigquery.savedqueries.update Mettre à jour les requêtes enregistrées
bigquery.savedqueries.delete Supprimer les requêtes enregistrées
bigquery.readsessions.create (bêta) Créer une session de lecture via l'API BigQuery Storage
bigquery.connections.create (bêta) Créer des connexions dans un projet
bigquery.connections.get (bêta) Obtenir des métadonnées de connexion. Les identifiants sont exclus.
bigquery.connections.list (bêta) Répertorier les connexions d'un projet
bigquery.connections.use (bêta) Utiliser une configuration de connexion pour se connecter à une source de données distante
bigquery.connections.update (bêta) Mettre à jour une connexion et ses identifiants
bigquery.connections.delete (bêta) Supprimer une connexion

* Lorsque vous créez une tâche, vous disposez automatiquement de l'équivalent des autorisations bigquery.jobs.get et bigquery.jobs.update pour cette tâche.

Rôles Cloud IAM prédéfinis dans BigQuery

Le tableau suivant répertorie les rôles Cloud IAM prédéfinis dans BigQuery, ainsi que la liste de toutes les autorisations incluses dans chaque rôle. Notez que chaque autorisation est applicable à un type de ressource particulier.

Rôles BigQuery

roles/
bigquery.admin
Administrateur BigQuery Fournit des autorisations permettant de gérer toutes les ressources du projet. Ce rôle peut gérer toutes les données du projet et annuler des tâches exécutées par d'autres utilisateurs dans le projet. bigquery.*
resourcemanager.projects.get
resourcemanager.projects.list
Projet roles/
bigquery.connectionAdmin
BigQuery Connection Admin Beta bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery Connection User Beta bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
Éditeur de données BigQuery

Lorsque ce rôle est appliqué à un ensemble de données, il fournit des autorisations permettant de :

  • lire les métadonnées de l'ensemble de données et répertorier les tables que celui-ci contient ;
  • créer, mettre à jour, obtenir et supprimer les tables de l'ensemble de données.

Lorsque ce rôle est appliqué au niveau du projet ou de l'organisation, il permet également de créer des ensembles de données.

bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.updateTag
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Ensemble de données roles/
bigquery.dataOwner
Propriétaire de données BigQuery

Lorsque ce rôle est appliqué à un ensemble de données, il fournit des autorisations permettant de :

  • lire, mettre à jour et supprimer l'ensemble de données ;
  • créer, mettre à jour, obtenir et supprimer les tables de l'ensemble de données.

Lorsque ce rôle est appliqué au niveau du projet ou de l'organisation, il peut également créer des ensembles de données.

bigquery.datasets.*
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Ensemble de données roles/
bigquery.dataViewer
Lecteur de données BigQuery

Lorsque ce rôle est appliqué à un ensemble de données, il fournit des autorisations permettant de :

  • lire les métadonnées de l'ensemble de données et répertorier les tables que celui-ci contient ;
  • lire les données et les métadonnées des tables de l'ensemble de données.

Lorsque ce rôle est appliqué au niveau du projet ou de l'organisation, il peut également énumérer tous les ensembles de données du projet. Toutefois, des rôles supplémentaires sont nécessaires pour permettre l'exécution de tâches.

bigquery.datasets.get
bigquery.datasets.getiamPolicy
bigquery.models.getData
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Ensemble de données roles/
bigquery.jobUser
BigQuery Job User Provides permissions to run jobs, including queries, within the project. The jobUser role can enumerate their own jobs and cancel their own jobs. bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
bigquery.metadataViewer
Lecteur de métadonnées BigQuery

Lorsque ce rôle est appliqué au niveau du projet ou de l'organisation, il fournit des autorisations permettant de :

  • répertorier tous les ensembles de données et lire les métadonnées de tous les ensembles de données du projet ;
  • répertorier toutes les tables et vues, et lire les métadonnées de toutes les tables et vues du projet.

Des rôles supplémentaires sont nécessaires pour permettre l'exécution de tâches.

bigquery.datasets.get
bigquery.datasets.getiamPolicy
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.get
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Projet roles/
bigquery.readSessionUser
BigQuery Read Session User Beta Access to create and use read sessions bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
Utilisateur BigQuery Fournit des autorisations permettant d'exécuter des tâches, y compris des requêtes, dans le projet. Le rôle d'utilisateur permet d'énumérer ou d'annuler ses propres tâches, et d'énumérer les ensembles de données d'un projet. Il permet également d'en créer et de disposer du rôle bigquery.dataOwner pour ces nouveaux ensembles de données. bigquery.config.get
bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getiamPolicy
bigquery.jobs.create
bigquery.jobs.list
bigquery.models.list
bigquery.readsessions.*
bigquery.routines.list
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.tables.list
bigquery.transfers.get
resourcemanager.projects.get
resourcemanager.projects.list
Projet
Rôle Titre Description Autorisations Ressource la plus basse

Rôles primitifs BigQuery

Pour en savoir plus sur les rôles primitifs pour BigQuery, reportez-vous à la page Rôles primitifs et autorisations BigQuery.

Rôles personnalisés BigQuery

Pour créer un rôle Cloud IAM personnalisé pour BigQuery, suivez les étapes décrites dans la documentation sur les rôles personnalisés de Cloud IAM.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.