Rôles IAM Data Catalog

Ce document décrit les rôles IAM (Identity and Access Management) qui vous permettent d'utiliser Data Catalog pour rechercher et taguer des ressources Google Cloud.

Pour une description détaillée d'IAM et de ses fonctionnalités, consultez la documentation IAM.

Terminologie IAM

Autorisations
Vérifiées au moment de l'exécution pour vous permettre d'effectuer une opération ou d'accéder à une ressource Google Cloud. Les autorisations ne sont pas directement octroyées aux utilisateurs. À la place, ils se voient octroyer des rôles qui leur accordent des autorisations.
Rôles
Un rôle est un ensemble d'autorisations prédéfini. Des rôles personnalisés constitués d'un ensemble d'autorisations prédéfini sont également autorisés.

Afficher les rôles Data Catalog

  1. Dans la console Google Cloud, accédez à la page IAM et administration > Rôles.

    Accéder à la page "Rôles"

  2. Dans le champ Filtre, sélectionnez Utilisé dans, saisissez Data Catalog ou Data Lineage, puis cliquez sur Entrée.

  3. Cliquez sur un rôle pour afficher ses autorisations dans le volet de droite.

    Par exemple, le rôle "Administrateur Data Catalog" dispose d'un accès complet à toutes les ressources Data Catalog.

Rôles Data Catalog prédéfinis

Certains rôles prédéfinis de Data Catalog incluent l'administrateur Data Catalog, le lecteur Data Catalog et le créateur de modèles de tag Data Catalog. Certains de ces rôles sont décrits dans les sections suivantes.

Pour obtenir la liste et la description des rôles prédéfinis de Data Catalog, ainsi que les autorisations associées à chaque rôle, consultez la section Rôles Data Catalog.

Rôle "Administrateur Data Catalog"

Le rôle roles/datacatalog.admin a accès à toutes les ressources de Data Catalog. Un administrateur Data Catalog peut ajouter différents types d'utilisateurs à un projet Data Catalog.

Rôle "Administrateur de données Data Catalog"

Le rôle roles/datacatalog.dataSteward vous permet d'ajouter, de modifier ou de supprimer les responsables des données et l'aperçu en texte enrichi d'une entrée de données telle qu'une table BigQuery.

Rôle "Lecteur Data Catalog"

Pour simplifier l'accès aux ressources Google Cloud, Data Catalog fournit le rôle roles/datacatalog.viewer avec une autorisation de lecture des métadonnées pour toutes les ressources Google Cloud cataloguées.

Ce rôle permet également d'afficher les tags et les modèles de tag de Data Catalog.

Accordez le rôle "Lecteur Data Catalog" à votre projet pour afficher les ressources Google Cloud dans Data Catalog.

Rôle "Créateur de modèles de tag Data Catalog"

Le rôle roles/datacatalog.tagTemplateCreator vous permet de créer des modèles de tag.

Rôle "Administrateur de la recherche Data Catalog"

Le rôle roles/datacatalog.searchAdmin vous permet de récupérer, via une recherche, toutes les ressources Google Cloud cataloguées dans un projet ou une organisation.

Rôle "Administrateur de configurations de migration Data Catalog"

Le rôle roles/datacatalog.migrationConfigAdmin vous permet de définir et de récupérer la configuration liée à la migration de ressources de Data Catalog vers le catalogue Dataplex.

Rôles de lignée de données prédéfinis

Pour accéder à la lignée de n'importe quelle entrée Data Catalog, vous devez avoir accès à l'entrée dans Data Catalog. Pour accéder à l'entrée Data Catalog, vous avez besoin d'un rôle de lecteur sur la ressource système correspondante ou sur le lecteur Data Catalog (roles/datacatalog.viewer) du projet qui stocke l'entrée Data Catalog. Cette section décrit les rôles requis pour afficher la lignée.

Rôle de lecteur de la traçabilité

Le rôle Lecteur de la traçabilité des données (roles/datalineage.viewer) vous permet d'afficher la traçabilité des données Dataplex dans la console Google Cloud et de lire les informations de traçabilité à l'aide de l'API Data Lineage. Les exécutions et les événements d'un processus donné sont tous stockés dans le même projet que le processus. Dans le cas d'une lignée automatisée, le processus, les exécutions et les événements sont stockés dans le projet dans lequel s'exécutait la tâche ayant généré la lignée. Il peut s'agir, par exemple, du projet dans lequel une tâche BigQuery était en cours d'exécution.

Vous avez besoin de différents rôles pour afficher la lignée entre les composants et les métadonnées des composants. Pour le premier, vous avez besoin du rôle Lecteur de la traçabilité des données (roles/datalineage.viewer). Pour le second, vous avez besoin des mêmes rôles que ceux utilisés pour accéder aux entrées de métadonnées dans Data Catalog.

Rôles permettant d'afficher la lignée entre deux composants

Pour afficher la traçabilité entre les composants, vous devez disposer du rôle Lecteur de la traçabilité des données (roles/datalineage.viewer) sur les projets suivants:

  • Projet dans lequel vous affichez la lignée (appelé projet actif), c'est-à-dire le projet dans le menu déroulant en haut de la console Google Cloud ou le projet à partir duquel des appels d'API sont effectués. Il s'agit généralement du projet de ressources Data Catalog.
  • Les projets dans lesquels la lignée est enregistrée (appelés projet de calcul). La lignée est stockée dans le projet dans lequel le processus correspondant a été exécuté, comme décrit ci-dessus. Ce projet peut être différent du projet qui stocke l'asset pour lequel vous consultez la lignée.

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.

Selon le cas d'utilisation, attribuez le rôle Lecteur de la lignée de données (roles/datalineage.viewer) au niveau du dossier ou de l'organisation pour garantir l'accès à la lignée (voir Attribuer ou révoquer un rôle unique). Les rôles requis pour la traçabilité des données ne peuvent être attribués que via la Google Cloud CLI.

Rôles permettant d'afficher les métadonnées des éléments lorsque vous consultez la lignée

Lorsque les métadonnées d'un élément sont stockées dans Data Catalog, vous ne pouvez les afficher que si vous disposez d'un rôle de lecteur sur la ressource système correspondante ou sur le lecteur Data Catalog (roles/datacatalog.viewer) du projet dans lequel l'entrée Data Catalog est stockée. Vous pouvez avoir accès aux composants du graphique ou de la liste de la lignée via les rôles de lecteur appropriés, mais pas à la lignée entre eux. Cela se produit lorsque vous ne disposez pas du rôle Lecteur de la traçabilité des données (roles/datalineage.viewer) sur le projet dans lequel la traçabilité a été enregistrée. Dans ce cas, l'API Data Lineage et la console Google Cloud n'affichent pas la lignée et ne renvoient pas d'erreur, afin d'éviter de divulguer des informations sur l'existence de la lignée. Par conséquent, l'absence de filiation pour un composant ne signifie pas qu'il n'y a pas de filiation pour ce composant, mais que vous n'avez peut-être pas accès à cette filiation.

Rôle de producteur d'événements de traçabilité des données

Le rôle roles/datalineage.producer permet aux utilisateurs d'enregistrer manuellement des informations sur la lignée à l'aide de l'API de lignée de données.

Rôle d'éditeur de la traçabilité des données

Le rôle roles/datalineage.editor permet aux utilisateurs de modifier manuellement les informations de lignée à l'aide de l'API de lignée de données.

Rôle Administrateur de la traçabilité des données

Le rôle roles/datalineage.admin permet aux utilisateurs d'effectuer toutes les opérations de lignée listées dans cette section.

Rôles permettant d'afficher les tags publics et privés

Vous pouvez rechercher des tags publics à l'aide de la recherche simple. Vous pouvez afficher une entrée de données, y compris ses tags publics, à condition de disposer des autorisations requises. Aucune autorisation supplémentaire n'est requise pour le modèle de balise. Pour connaître les autorisations requises pour afficher la saisie de données, consultez le tableau de cette section.

Toutefois, nous vous recommandons d'accorder également l'autorisation datacatalog.tagTemplates.get aux utilisateurs qui sont censés rechercher ces balises publiques. Cette autorisation permet également aux utilisateurs d'utiliser le prédicat de recherche tag: ou le facette de recherche de modèle de tag sur la page de recherche de Data Catalog.

Pour les tags privés, vous devez disposer d'autorisations d'affichage pour le modèle de tag et l'entrée de données afin de rechercher le tag et de l'afficher sur la page d'informations sur l'entrée. Les utilisateurs doivent utiliser le prédicat de recherche tag: ou la facette de recherche de modèle de tag pour trouver les tags. La recherche simple des tags privés n'est pas prise en charge.

Veuillez noter les points suivants :

  • L'autorisation d'affichage requise pour le modèle de balise privée est datacatalog.tagTemplates.getTag.

  • Les autorisations d'affichage sur l'entrée de données pour les tags publics et privés sont incluses dans le tableau suivant.

Ressource Permission Rôle
Ensembles de données, tables, modèles, routines et connexions BigQuery bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/datacatalog.tagTemplateViewer
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
Sujets Pub/Sub pubsub.topics.get roles/datacatalog.tagTemplateViewer
roles/pubsub.viewer
Instances, bases de données, tables et vues Spanner Instance: spanner.instances.get
Database:spanner.databases.get
Table: spanner.databases.get
Views: spanner.databases.get
datacatalog.tagTemplates.getTag
Aucun rôle prédéfini n'est disponible.
Instances et tables Bigtable bigtable.instances.get
bigtable.tables.get
datacatalog.tagTemplates.getTag
roles/datacatalog.tagTemplateViewer
roles/bigtable.viewer
Services, bases de données et tables Dataproc Metastore metastore.tables.get
metastore.databases.get
metastore.services.get
roles/datacatalog.tagTemplateViewer
roles/metastore.metadataViewer
Entrées personnalisées datacatalog.entries.get Aucun rôle prédéfini n'est disponible.

Rôles permettant de rechercher des ressources Google Cloud

Avant de rechercher, découvrir ou afficher des ressources Google Cloud, Data Catalog vérifie que vous disposez d'un rôle IAM avec les autorisations de lecture des métadonnées requises par BigQuery, Pub/Sub, Dataproc Metastore ou tout autre système source permettant d'accéder à la ressource.

Exemple:Data Catalog vérifie que vous avez été autorisé à jouer un rôle avec bigquery.tables.get permission avant d'afficher les métadonnées de la table BigQuery.

Le tableau suivant répertorie les autorisations et les rôles associés nécessaires pour utiliser Data Catalog pour rechercher les ressources Google Cloud répertoriées.

Ressource Permission Rôle
Ensembles de données, tables, modèles, routines et connexions BigQuery bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
Consultez également la section Rôle "Lecteur Data Catalog".
Sujets Pub/Sub pubsub.topics.get roles/pubsub.viewer
Consultez également la section Rôle "Lecteur Data Catalog".
Bases de données et tables Spanner Instance: spanner.instances.get
Base de données: spanner.databases.get
Vues: spanner.databases.get
Aucun rôle prédéfini n'est disponible.
Instances et tables Bigtable bigtable.instances.get
bigtable.tables.get
roles/bigtable.viewer
Consultez également la section Rôle "Lecteur Data Catalog".
Lacs, zones, tables et fichiers Dataplex dataplex.lakes.get
dataplex.zones.get
dataplex.entities.get
dataplex.entities.get
Aucun rôle prédéfini n'est disponible.
Services, bases de données et tables Dataproc Metastore metastore.tables.get
metastore.databases.get
metastore.services.get
roles/metastore.metadataViewer

Rôles pour associer des tags à des ressources Google Cloud

Les mêmes autorisations sont requises pour associer des tags publics et privés à des ressources Google Cloud.

Data Catalog permet aux utilisateurs d'étendre les métadonnées des ressources Google Cloud en associant des tags. Un ou plusieurs tags pouvant être associés à une ressource sont définis dans un modèle de tag.

Lorsqu'un utilisateur tente d'utiliser le modèle de tag pour associer un tag à une ressource Google Cloud, Data Catalog vérifie que vous disposez des autorisations requises pour utiliser le modèle de tag et mettre à jour les métadonnées de la ressource. Les autorisations sont accordées via des rôles IAM, comme indiqué dans le tableau suivant.

Le tableau suivant répertorie les autorisations et les rôles associés nécessaires pour qu'un utilisateur puisse utiliser Data Catalog pour associer des balises publiques et privées aux ressources Google Cloud listées.

Chaque ligne du tableau suivant liste les autorisations nécessaires pour ajouter des tags aux ressources. Les rôles correspondants peuvent accorder des autorisations supplémentaires. Cliquez sur chaque rôle pour afficher toutes les autorisations associées.

Veuillez noter les points suivants :

  • Le propriétaire d'une entrée de données dispose de l'autorisation datacatalog.entries.updateTag par défaut. Tous les autres utilisateurs doivent disposer du rôle datacatalog.tagEditor.

  • L'autorisation datacatalog.tagTemplates.use est également requise pour toutes les ressources listées dans le tableau.

Ressource Permissions Rôle
Ensembles de données, tables,
modèles, routines et
connexions BigQuery
bigquery.datasets.updateTag
bigquery.tables.updateTag
bigquery.models.updateTag
bigquery.routines.updateTag
bigquery.connections.updateTag
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigquery.dataEditor
Sujets Pub/Sub pubsub.topics.updateTag roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/pubsub.editor
Bases de données et tables Spanner Instance: spanner.instances.UpdateTag
Base de données: spanner.databases.UpdateTag
Table: spanner.databases.UpdateTag
Vues:spanner.databases.UpdateTag
Aucun rôle prédéfini n'est disponible.
Instances et tables Bigtable bigtable.instances.update
bigtable.tables.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigtable.admin
Lacs, zones, tables et fichiers Dataplex dataplex.lakes.update
dataplex.zones.update
dataplex.entities.update
dataplex.entities.update
Aucun rôle prédéfini n'est disponible.
Services, bases de données et tables Dataproc Metastore metastore.tables.update
metastore.databases.update
metastore.services.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/metastore.editor
roles/metastore.metadataEditor

Rôles personnalisés pour les ressources Google Cloud

Les rôles d'éditeur prédéfinis pour les entrées de données provenant d'autres systèmes Google Cloud peuvent offrir un accès en écriture plus large que nécessaire. Utilisez des rôles personnalisés pour spécifier des autorisations *.updateTag uniquement sur une ressource Google Cloud.

Rôles permettant de modifier la vue du texte enrichi et les stewards de données dans Data Catalog

Les utilisateurs ont besoin des rôles suivants pour joindre une vue d'ensemble au format enrichi et attribuer des stewards de données aux entrées de Data Catalog:

Ressource Permissions Rôle
Projets Google Cloud datacatalog.entries.updateOverview
datacatalog.entries.updateContacts
roles/datacatalog.dataSteward

Rôles permettant de modifier la configuration de la migration dans Data Catalog

Les utilisateurs ont besoin des rôles suivants pour définir et récupérer la configuration liée à la migration de Data Catalog vers Dataplex:

Ressource Permissions Rôle
Projets et organisations Google Cloud datacatalog.migrationConfig.set
datacatalog.migrationConfig.get
roles/datacatalog.migrationConfigAdmin

Fédération d'identité dans Data Catalog

La fédération d'identité vous permet d'utiliser un fournisseur d'identité (IdP) externe pour authentifier et autoriser les utilisateurs aux services Google Cloud avec IAM.

Data Catalog est compatible avec la fédération d'identité, mais avec les limites suivantes:

Étape suivante