Contrôle des accès

Présentation

BigQuery utilise la gestion de l'authentification et des accès (IAM) pour gérer l'accès aux ressources. Trois types de ressources sont disponibles dans BigQuery : les organisations, les projets et les ensembles de données. Dans la hiérarchie des stratégies IAM, les ensembles de données sont les ressources enfants des 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 accorder l'accès à une ressource, attribuez un ou plusieurs rôles à un utilisateur, un groupe ou un compte de service. Les rôles associés aux organisations et aux projets déterminent la capacité à exécuter des tâches ou à gérer les ressources d'un projet, tandis que les rôles associés aux ensembles de données ont un impact sur l'accès ou la modification des données dans l'ensemble de données en question.

Le service IAM fournit deux types de rôles : les rôles prédéfinis et les rôles primitifs. 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.

Autorisations et rôles

Matrice de comparaison des rôles prédéfinis

Vous pouvez attribuer les rôles prédéfinis suivants dans BigQuery.

Compétences dataViewer dataEditor dataOwner user jobUser admin
Répertorier/Obtenir des projets
Répertorier des tables
Obtenir des données de table/métadonnées
Créer des tables
Modifier/Supprimer des tables
Obtenir les métadonnées d'un ensemble de données
Créer des ensembles de données
Modifier/Supprimer des ensembles de données Ensembles de données
créés automatiquement
Créer des tâches/requêtes
Obtenir des tâches Tâches
créées automatiquement
Toutes les tâches
Répertorier des tâches Toutes les tâches (les tâches des autres utilisateurs sont masquées) Toutes les tâches
Annuler des tâches Tâches
créées automatiquement
Tâches
créées automatiquement
Toutes les tâches
Obtenir/Répertorier des requêtes enregistrées
Créer/Mettre à jour/Supprimer des requêtes enregistrées
Obtenir des transferts
Créer/Mettre à jour/Supprimer des transferts

Autorisations

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

Autorisation 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
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.transfers.get Obtenir les 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

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

Autorisations requises pour les méthodes

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode :

Méthode Autorisation(s) requise(s)
datasets.delete bigquery.datasets.delete
Vous avez également besoin de bigquery.tables.delete si l'ensemble de données ciblé n'est pas vide.
datasets.get bigquery.datasets.get
datasets.insert bigquery.datasets.create
datasets.list Utilisez bigquery.datasets.get pour vérifier les autorisations sur les ensembles de données renvoyés.
datasets.patch bigquery.datasets.update
datasets.update bigquery.datasets.update
jobs.cancel bigquery.jobs.update
Vous pouvez annuler vos propres tâches sans cette autorisation.
jobs.get bigquery.jobs.get
Vous pouvez obtenir vos propres tâches sans cette autorisation.
jobs.getQueryResults bigquery.jobs.get
Pour obtenir les résultats d'une tâche, vous devez disposer des autorisations bigquery.jobs.get ou être le propriétaire de la tâche. Vous devez également être le propriétaire de la table dans laquelle les résultats de la tâche sont écrits.
jobs.insert Utilisez bigquery.jobs.create pour démarrer la tâche.
Des autorisations supplémentaires peuvent être requises pour effectuer la tâche.
jobs.list Utilisez bigquery.jobs.list pour afficher toutes les tâches des utilisateurs. Les informations et les métadonnées des tâches envoyées par d'autres utilisateurs sont masquées. Utilisez bigquery.jobs.listAll pour afficher l'ensemble des informations sur les tâches de tous les utilisateurs à l'aide du paramètre allUsers=true.
jobs.query Utilisez bigquery.jobs.create pour démarrer la tâche.
Des autorisations supplémentaires peuvent être requises pour effectuer la tâche.
projects.list resourcemanager.projects.get
tabledata.insertAll bigquery.tables.updateData
tabledata.list bigquery.tables.getData
tables.delete bigquery.tables.delete
tables.get bigquery.tables.get
tables.insert bigquery.tables.create
Si la méthode crée une vue, elle doit également disposer des autorisations bigquery.tables.getData sur toutes les tables référencées dans la vue.
tables.list bigquery.tables.list
tables.patch bigquery.tables.update
tables.update bigquery.tables.update
Si la méthode met à jour une vue, elle doit également disposer des autorisations bigquery.tables.getData sur toutes les tables référencées dans la vue. Si la vue est déjà autorisée sur l'ensemble de données, la méthode doit également utiliser bigquery.datasets.update sur tous les ensembles de données associés aux tables.
projects.transferConfigs.create bigquery.transfers.update
projects.transferConfigs.get bigquery.transfers.get
projects.transferConfigs.patch bigquery.transfers.update

Rôles

Le tableau suivant répertorie les rôles IAM relatifs à l'API Google 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ôle Autorisation(s) associée(s) : Type de ressource concerné :
roles/bigquery.dataViewer
resourcemanager.projects.get Organisation
resourcemanager.projects.list Organisation
bigquery.datasets.get Ensemble de données
bigquery.tables.list Ensemble de données
bigquery.tables.get Ensemble de données
bigquery.tables.getData Ensemble de données
bigquery.tables.export Ensemble de données
roles/bigquery.dataEditor
Toutes les autorisations ci-dessus, ainsi que :
bigquery.datasets.create Projet
bigquery.tables.create Ensemble de données
bigquery.tables.delete Ensemble de données
bigquery.tables.update Ensemble de données
bigquery.tables.updateData Ensemble de données
roles/bigquery.dataOwner
Toutes les autorisations ci-dessus, ainsi que :
bigquery.datasets.delete Projet
bigquery.datasets.update Ensemble de données
roles/bigquery.user
resourcemanager.projects.get Organisation
resourcemanager.projects.list Organisation
bigquery.jobs.create Projet
bigquery.jobs.list Projet
bigquery.datasets.create Projet
bigquery.datasets.get Projet
bigquery.tables.list Projet
bigquery.transfers.get Projet
bigquery.savedqueries.get Projet
bigquery.savedqueries.list Projet
roles/bigquery.jobUser
resourcemanager.projects.get Organisation
bigquery.jobs.create Projet
roles/bigquery.admin
Toutes les autorisations des autres rôles, ainsi que :
bigquery.jobs.get Projet
bigquery.jobs.listAll Projet
bigquery.jobs.update Projet
bigquery.savedqueries.create Projet
bigquery.savedqueries.delete Projet
bigquery.savedqueries.update Projet
bigquery.transfers.update Projet

Détails des rôles prédéfinis

Détails des rôles prédéfinis

roles/bigquery.
user

Autorisations requises pour exécuter des tâches, telles que des requêtes, dans le projet. La plupart des personnes (data scientists et analystes de données) qui travaillent au sein d'une entreprise doivent être des utilisateurs. 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.

Logique : Ce rôle permet de séparer l'accès aux données de la possibilité d'exécuter des tâches dans le projet, ce qui est utile lorsque les membres d'une équipe interrogent les données de plusieurs projets. L'énumération des ensembles de données et des tables est un bon moyen d'aider les utilisateurs à découvrir des sources de données potentielles.

Types de ressources :

  • Organisation
  • Projet

roles/bigquery.
jobUser

Autorisations requises pour exécuter des tâches, telles que des requêtes, dans le projet. Le rôle jobUser vous permet d'obtenir des informations sur vos tâches et de les annuler.

Logique : Ce rôle permet de séparer l'accès aux données de la possibilité d'exécuter des tâches dans le projet, ce qui est utile lorsque les membres d'une équipe interrogent les données de plusieurs projets. Ce rôle n'autorise pas l'accès aux données BigQuery. Si vous devez y accéder, accordez des contrôles d'accès au niveau des ensembles de données.

Types de ressources :

  • Organisation
  • Projet

roles/bigquery.
dataViewer

Lorsqu'il est appliqué à un ensemble de données, le rôle dataViewer accorde des autorisations pour :

  • lire les métadonnées de l'ensemble de données et répertorier les tables dans l'ensemble de données ;
  • lire les données et les métadonnées des tables de l'ensemble de données.

Lorsqu'il est appliqué au niveau du projet ou de l'organisation, ce rôle peut également permettre d'énumérer tous les ensembles de données du projet. Vous avez néanmoins besoin de rôles supplémentaires pour exécuter des tâches.

Par exemple, un utilisateur qui dispose uniquement des autorisations bigquery.dataViewer sur un ensemble de données peut seulement répertorier les tables de cet ensemble de données et utiliser les API get() pour lire leur contenu. L'utilisateur ne peut pas interroger les données sans autorisations supplémentaires.

Pour obtenir un exemple d'utilisateur avec des autorisations permettant d'exécuter des requêtes, considérez le scénario suivant. Un utilisateur qui dispose des autorisations bigquery.user sur un projectA et bigquery.dataViewer sur les ensembles de données projectA:dataset1 et projectB:dataset2 peut exécuter une requête dans projectA qui utilise l'un ou l'autre de ces ensembles de données, ou les deux.

Des autorisations supplémentaires peuvent être requises pour les sources de données externes qui résident en dehors de l'espace de stockage BigQuery,

Logique : Le rôle dataViewer permet d'accéder aux données en lecture seule. Le rôle dataViewer peut accéder aux données, mais des autorisations supplémentaires, telles que celles accordées par les rôles bigquery.user ou bigquery.admin, sont nécessaires pour envoyer des tâches de requête. Le rôle dataViewer n'entraîne aucuns frais.

Types de ressources :

  • Organisation
  • Projet
  • Ensemble de données

roles/bigquery.
dataEditor

Lorsqu'il est appliqué à un ensemble de données, le rôle dataEditor accorde des autorisations pour :

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

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

Logique : Le rôle dataEditor étend les autorisations de bigquery.dataViewer. Il permet de créer, de mettre à jour et de supprimer les droits des tables de l'ensemble de données, mais sans autoriser les mutations de l'ensemble de données lui-même.

Types de ressources :

  • Organisation
  • Projet
  • Ensemble de données

roles/bigquery.
dataOwner

Lorsqu'il est appliqué à un ensemble de données, le rôle dataOwner accorde des autorisations pour :

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

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

Logique : Le rôle dataOwner étend les autorisations de bigquery.dataEditor en ajoutant la possibilité de modifier et de supprimer l'ensemble de données associé.

Types de ressources :

  • Organisation
  • Projet
  • Ensemble de données

roles/bigquery.
admin

Autorisations requises pour gérer toutes les ressources du projet. Ce rôle vous permet de gérer toutes les données du projet et d'annuler les tâches exécutées par d'autres utilisateurs dans le projet.

Logique : Il s'agit du niveau de rôle le plus élevé qui offre le plus de responsabilités, le super-utilisateur qui accompagne ses collègues dans l'exécution de leurs différentes analyses.

Types de ressources :

  • Organisation
  • Projet

Rôles personnalisés

En plus des rôles prédéfinis, BigQuery est également compatible avec les rôles personnalisés. Pour en savoir plus, consultez la section Créer et gérer les rôles personnalisés dans la documentation Cloud IAM.

Autorisations non compatibles

Les autorisations suivantes ne peuvent être ajoutées aux rôles personnalisés qu'au niveau de l'organisation. Elles n'ont aucun effet au niveau du projet ni à un niveau inférieur.

  • resourcemanager.projects.list

Les autorisations suivantes peuvent faire l'objet de modifications susceptibles d'affecter la rétrocompatibilité et ne sont pas recommandées pour l'utilisation en production. Elles ne sont assujetties à aucun contrat de niveau de service ni aucun règlement d'obsolescence.

  • bigquery.config.get
  • bigquery.config.update

Rôles IAM primitifs

Les rôles IAM primitifs correspondent exactement aux rôles de lecteur, d'éditeur et de propriétaire des projets, et aux rôles de lecteur, de rédacteur et de propriétaire des ensembles de données de l'ancien BigQuery.

Effectuer une transition à partir des rôles primitifs

Pour les utilisateurs qui sont plus à l'aise avec l'ancienne configuration des autorisations, BigQuery présente une combinaison de rôles primitifs en tant qu'autorisations au niveau du projet (Lecture, Écriture, Propriétaire).

Pour des raisons de compatibilité, les anciennes autorisations au niveau de chaque ensemble de données correspondent exactement à leurs rôles prédéfinis équivalents.

Anciennes autorisations BigQuery Équivalent IAM
Projet – Consultation autorisée Rôle primitif – Lecteur
Projet – Modification autorisée Rôle Primitif – Editeur
Projet – Propriétaire Rôle Primitif – Propriétaire
Ensemble de données – LECTURE bigquery.dataViewer
Ensemble de données – ÉCRITURE bigquery.dataEditor
Ensemble de données – PROPRIÉTAIRE bigquery.dataOwner

Rôles primitifs pour les projets

Par défaut, autoriser l'accès à un projet permet également d'accéder aux ensembles de données qu'il contient. L'accès par défaut peut être ignoré pour chaque ensemble de données. Un utilisateur associé au rôle Owner dans le projet peut révoquer ou modifier les rôles du projet.

Lors de la création d'un projet, BigQuery attribue le rôle Owner à l'utilisateur qui a créé le projet.

Rôle primitif Compétences
Viewer
  • Peut démarrer une tâche dans le projet. Des rôles supplémentaires pour les ensembles de données peuvent être nécessaires en fonction du type de tâche.
  • Peut répertorier et obtenir toutes les tâches, et mettre à jour celles qui ont été démarrées pour le projet.
  • Si vous créez un ensemble de données dans un projet pour lequel des lecteurs sont définis, BigQuery attribue à ces utilisateurs le rôle prédéfini bigquery.dataViewer dans le nouvel ensemble de données.
Editor
  • Compétences identiques à celles de Viewer, plus les suivantes :
    • Peut créer un ensemble de données dans le projet.
    • Si vous créez un ensemble de données dans un projet pour lequel des éditeurs sont définis, BigQuery attribue à ces utilisateurs le rôle prédéfini bigquery.dataEditor dans le nouvel ensemble de données.
Owner
  • Compétences identiques à celles de Editor, plus les suivantes :
    • Peut répertorier tous les ensembles de données du projet.
    • Peut supprimer n'importe quel ensemble de données du projet.
    • Peut répertorier et obtenir toutes les tâches exécutées dans le projet, y compris celles qui sont exécutées par d'autres utilisateurs du projet.
    • Si vous créez un ensemble de données, BigQuery attribue à tous les propriétaires de projets le rôle prédéfini bigquery.dataOwner dans le nouvel ensemble de données.

      Exception : Lorsqu'un utilisateur exécute une requête, un ensemble de données anonyme est créé pour stocker la table des résultats mis en cache. Seul l'utilisateur qui exécute la requête peut avoir l'accès OWNER à l'ensemble de données anonyme.

Les rôles primitifs au niveau des projets sont accordés ou révoqués via la console Google Cloud Platform. Vous devez avoir un accès Owner au projet pour accorder ou révoquer un nouveau rôle au niveau du projet.

Pour savoir comment accorder ou révoquer l'accès aux rôles d'un projet, consultez Gérer les membres du projet.

Rôles primitifs pour les ensembles de données

Les rôles primitifs des ensembles de données sont similaires aux rôles prédéfinis décrits dans la section Effectuer une transition à partir des rôles primitifs.

Les rôles de l'ensemble de données peuvent être attribués aux types d'entités suivants :

Type d'entité API
Utilisateurs uniques, par adresse e-mail access.userByEmail
Groupe Google, par adresse e-mail access.groupByEmail
Groupe d'utilisateurs prédéfini, tel que tous les utilisateurs, ou un groupe d'utilisateurs ayant le même rôle au sein du projet qui contient l'ensemble de données access.specialGroup

Les rôles primitifs suivants s'appliquent aux ensembles de données :

Rôle de l'ensemble de données Compétences
READER
  • Peut lire, interroger, copier ou exporter des tables dans l'ensemble de données
    • Peut appeler get sur l'ensemble de données
    • Peut appeler get et list sur des tables de l'ensemble de données
    • Peut appeler list sur les données des tables de l'ensemble de données
WRITER
  • Compétences identiques à celles de READER, plus les suivantes :
    • Peut modifier ou ajouter des données dans l'ensemble de données
      • Peut appeler insert, insertAll, update ou delete
      • Peut utiliser des tables de l'ensemble de données comme destinations pour les tâches de chargement, de copie ou de requête
OWNER
  • Compétences identiques à celles de WRITER, plus les suivantes :
    • Peut appeler update sur l'ensemble de données
    • Peut appeler delete sur l'ensemble de données

Remarque : Un ensemble de données doit avoir au moins une entité disposant du rôle OWNER. Un utilisateur qui dispose du rôle OWNER ne peut pas supprimer son propre rôle OWNER.

Lorsque vous créez un ensemble de données, BigQuery ajoute un accès par défaut à l'ensemble de données pour les entités suivantes. Les rôles que vous spécifiez lors de la création de l'ensemble de données écrasent les valeurs par défaut.

Entité Rôle de l'ensemble de données
Tous les utilisateurs disposant d'un accès Viewer au projet READER
Tous les utilisateurs disposant d'un accès Editor au projet WRITER
Tous les utilisateurs disposant d'un accès Owner au projet

OWNER

Exception : Lorsqu'un utilisateur exécute une requête, un ensemble de données anonyme est créé pour stocker la table des résultats mis en cache. Seul l'utilisateur qui exécute la requête peut avoir l'accès OWNER à l'ensemble de données anonyme.

Les rôles de l'ensemble de données sont accordés ou révoqués à l'aide de l'une des options suivantes :

  • Via l'API BigQuery, à l'aide de la méthode update
  • Via l'Interface utilisateur Web, en cliquant sur le menu déroulant à côté du nom d'un ensemble de données, puis sur Partager l'ensemble de données

Exemples de cas de figure

Les exemples suivants impliquent un groupe de data scientists appartenant tous à un groupe Google nommé AnalystGroup.

Accès en lecture et en écriture aux données d'un ensemble de données

CompanyProject est un projet qui comprend les ensembles de données dataset1 et dataset2. AnalystGroup1 est un groupe de data scientists qui travaille uniquement sur l'ensemble de données dataset1. Le groupe AnalystGroup2 ne travaille que sur l'ensemble de données dataset2. Les data scientists doivent uniquement disposer d'un accès complet à l'ensemble de données sur lequel ils travaillent, y compris pour exécuter des requêtes sur les données.

Accès en lecture et en écriture à un ensemble de données
Dans l'ensemble de données CompanyProject:dataset1 Accordez au groupe AnalystGroup1 l'accès WRITER à l'ensemble de données dataset1. Ce rôle correspond au rôle IAM prédéfini bigquery.dataEditor.
Dans l'ensemble de données CompanyProject:dataset2 Accordez au groupe AnalystGroup2 l'accès WRITER à l'ensemble de données dataset2. Ce rôle correspond au rôle IAM prédéfini bigquery.dataEditor.
Dans le projet CompanyProject Accordez aux groupes AnalystGroup1 et AnalystGroup2 l'accès bigquery.user au projet CompanyProject.

Les data scientists qui disposent de l'accès WRITER au niveau de l'ensemble de données peuvent interroger les données dans les tables de l'ensemble de données, mais ils ne peuvent pas exécuter des tâches de requête dans le projet. Pour pouvoir exécuter des tâches de requête sur un ensemble de données auquel ils ont accès, les groupes de data scientists doivent disposer du rôle prédéfini bigquery.user au niveau du projet. Le rôle bigquery.user accorde les autorisations bigquery.jobs.create.

Vous pouvez également attribuer un rôle IAM personnalisé aux groupes de data scientists au niveau du projet afin de leur accorder des autorisations bigquery.jobs.create.

Accès complet aux données d'un projet

AnalystGroup est un groupe de data scientists qui travaille sur BigQuery et qui est responsable de l'ensemble des aspects de son utilisation dans un projet nommé CompanyProject. Le groupe préfère que tous les membres disposent d'un accès en lecture et en écriture à l'ensemble des données. D'autres groupes de l'organisation travaillent avec d'autres produits Cloud Platform, mais personne n'interagit avec BigQuery. AnalystGroup n'utilise aucun autre service Cloud Platform.

Accès complet aux données d'un projet
Dans le projet CompanyProject Attribuez le rôle prédéfini bigquery.admin au groupe AnalystGroup.

Accès complet au sein d'une organisation

CompanyA est une organisation qui souhaite qu'une personne spécifique, nommée Admin1, soit l'administrateur de toutes les données BigQuery sur l'ensemble de ses projets. MonitoringServiceAccount est un compte de service chargé de surveiller la taille de toutes les tables de l'ensemble des projets de l'organisation.

Accès complet au sein d'une organisation
Dans l'organisation CompanyA

Si l'entreprise décide que MonitoringServiceAccount doit également réduire la taille des tables qui dépassent une certaine taille et supprimer les données antérieures à une période donnée, elle doit attribuer à MonitoringServiceAccount le rôle prédéfini bigquery.user.

Accès en lecture aux données d'un même projet

AnalystGroup est un groupe de data scientists chargé des services d'analyse au sein d'un projet nommé CompanyProject. OperationsServiceAccount est un compte de service qui doit charger les journaux d'application dans BigQuery à l'aide de tâches de chargement groupées sur un ensemble de données CompanyProject:AppLogs particulier. Les analystes ne sont pas autorisés à modifier les journaux.

Accès en lecture aux données d'un même projet
Dans le projet CompanyProject
  • Attribuez le rôle prédéfini bigquery.user à OperationsServiceAccount.
  • Attribuez le rôle prédéfini bigquery.user à AnalystGroup.
Dans l'ensemble de données CompanyProject:AppLogs

Accès en lecture aux données d'un projet différent

AnalystGroup est un groupe de data scientists chargé des services d'analyse au sein d'un projet nommé CompanyAnalytics. Les données analysées se trouvent, elles, dans un projet distinct nommé CompanyLogs. OperationsServiceAccount est un compte de service qui doit charger les journaux d'application dans BigQuery à l'aide de tâches de chargement groupées sur plusieurs ensembles de données du projet CompanyLogs.

AnalystGroup peut uniquement lire les données du projet CompanyLogs. Il ne peut ni créer d'espace de stockage supplémentaire, ni exécuter de tâches de requête dans ce projet. Les analystes préfèrent utiliser le projet CompanyAnalytics pour effectuer leurs opérations et conserver leurs résultats.

Accès en lecture aux données d'un projet différent
Dans le projet CompanyLogs
Dans le projet CompanyAnalytics

Manipulation programmatique des rôles

Vous pouvez utiliser les méthodes suivantes pour manipuler les rôles prédéfinis au niveau de l'ensemble de données,

du projet et de l'organisation de manière automatisée.

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

Envoyer des commentaires concernant…