IAM pour Data Catalog

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

Terminologie IAM

Autorisations
Vérifié au moment de l'exécution pour permettre aux utilisateurs 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ôle
Un rôle est un ensemble d'autorisations prédéfini. Les rôles personnalisés constitués d'un ensemble personnalisé d'autorisations sont également autorisés.

Afficher les rôles Data Catalog

Dans la console Google Cloud, procédez comme suit:

  1. 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 d'administrateur Data Catalog dispose d'un accès complet à toutes les ressources Data Catalog.

Rôles Data Catalog prédéfinis

Certains rôles Data Catalog prédéfinis incluent le rôle d'administrateur Data Catalog, de lecteur Data Catalog et de 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 et des autorisations associées à chaque rôle, consultez la page Rôles Data Catalog.

Rôle d'administrateur Data Catalog

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

Rôle de responsable des données DataCatalog

Le rôle roles/datacatalog.dataSteward vous permet d'ajouter, de modifier ou de supprimer les responsables des données et la présentation en texte enrichi pour 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 attribue 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 accorde également les autorisations nécessaires pour afficher des modèles de tag et des tags Data Catalog.

Accordez le rôle de lecteur Data Catalog sur votre projet pour permettre aux utilisateurs d'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 permet aux utilisateurs de créer des modèles de tag.

Rôle d'administrateur de la recherche Data Catalog

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

Rôles prédéfinis pour la traçabilité des données

Pour accéder au graphique de traçabilité d'une entrée Data Catalog, l'utilisateur doit avoir accès à cette entrée dans Data Catalog. Pour accéder à l'entrée Data Catalog, l'utilisateur doit disposer d'un rôle de lecteur sur la ressource système correspondante ou d'un rôle de lecteur Data Catalog (roles/datacatalog.viewer) correspondant dans le projet qui stocke l'entrée Data Catalog. Cette section décrit les rôles requis pour afficher et manipuler le graphique de traçabilité.

Rôle de lecteur de la traçabilité

Le rôle Lecteur de traçabilité des données (roles/datalineage.viewer) permet aux utilisateurs d'afficher les graphiques de traçabilité 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 de la traçabilité automatisée, le processus, les exécutions et les événements sont stockés dans le projet dans lequel la tâche qui a généré la traçabilité était en cours d'exécution. 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 visualiser la traçabilité et les métadonnées des éléments dans le graphique. Dans le premier cas, vous avez besoin du lecteur de la traçabilité des données (roles/datalineage.viewer). Dans le second cas, vous devez disposer des mêmes rôles que ceux utilisés pour accéder aux entrées de métadonnées dans Data Catalog. Les deux sous-sections suivantes fournissent des informations plus détaillées.

Rôles permettant d'afficher la traçabilité entre deux éléments

Pour afficher la traçabilité entre les éléments sur le graphique de traçabilité, l'utilisateur doit disposer du rôle Lecteur de traçabilité des données (roles/datalineage.viewer) sur les projets suivants:

  • Projet à partir duquel l'utilisateur consulte la traçabilité (appelé projet actif), soit le projet dans la liste déroulante en haut de la console Google Cloud ou le projet à partir duquel les appels d'API sont effectués. Il s'agit normalement du projet de ressource Data Catalog.
  • Projets dans lesquels la traçabilité est enregistrée (appelés projet de calcul). La traçabilité 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 de celui qui stocke l'asset dont l'utilisateur consulte la traçabilité.

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,vous devrez peut-être accorder le rôle Lecteur de la traçabilité des données (roles/datalineage.viewer) au niveau du dossier ou de l'organisation pour garantir qu'un utilisateur aura accès au graphique de traçabilité complet (voir Attribuer ou révoquer un seul rôle). Les rôles requis pour la traçabilité des données ne peuvent être accordés que via la Google Cloud CLI.

Rôles permettant d'afficher les métadonnées des éléments sur le graphique de traçabilité

Lorsque les métadonnées d'un élément du graphique sont stockées dans Data Catalog, l'utilisateur ne peut les afficher que s'il dispose d'un rôle de lecteur sur la ressource système correspondante ou de Lecteur Data Catalog (roles/datacatalog.viewer) sur le projet dans lequel l'entrée Data Catalog est stockée. L'accès aux métadonnées des éléments du graphique est indépendant de la traçabilité. Il est possible que l'utilisateur ait accès aux éléments du graphique via les rôles de lecteur appropriés, mais qu'il ne puisse pas accéder à la traçabilité entre eux. C'est le cas lorsque l'utilisateur ne dispose pas du rôle Lecteur de 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 et l'UI Data Lineage n'affichent pas la traçabilité et ne renvoient aucune erreur, afin d'éviter toute fuite d'informations sur l'existence de la traçabilité. Par conséquent, l'absence de traçabilité d'un élément ne signifie pas qu'il n'est pas traçable. L'utilisateur n'a peut-être pas accès à cette traçabilité.

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 de traçabilité à l'aide de l'API de traçabilité des 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 traçabilité à l'aide de l'API de traçabilité des données.

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

Le rôle roles/datalineage.admin permet aux utilisateurs d'effectuer toutes les opérations de traçabilité répertoriées dans cette section.

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

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

Toutefois, nous vous recommandons d'accorder également l'autorisation datacatalog.tagTemplates.get aux utilisateurs censés rechercher ces tags publics. Cette autorisation permet aux utilisateurs d'utiliser également le prédicat de recherche tag: ou l'attribut de recherche de modèle de tag dans la page de recherche Data Catalog.

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

Remarques :

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

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

Ressource Autorisation 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 pour rechercher des ressources Google Cloud

Avant de rechercher, découvrir ou afficher des ressources Google Cloud, Data Catalog vérifie que l'utilisateur dispose 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 l'utilisateur s'est vu attribuer 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 dont un utilisateur a besoin pour effectuer une recherche dans les ressources Google Cloud répertoriées à l'aide de Data Catalog.

Ressource Autorisation 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
Voir également Rôle Lecteur Data Catalog
Sujets Pub/Sub pubsub.topics.get roles/pubsub.viewer
Voir également 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
Voir également Rôle Lecteur Data Catalog
Lacs, zones, tables et ensembles de 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 aux ressources Google Cloud

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

Data Catalog permet aux utilisateurs d'étendre les métadonnées sur les 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 qu'il dispose des autorisations nécessaires 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 afin d'associer des tags publics et privés aux ressources Google Cloud répertoriées.

Chaque ligne du tableau suivant répertorie les autorisations requises 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.

Remarques :

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

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

Ressource Autorisations 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 ensembles de 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 fournir un accès en écriture plus large que nécessaire. Utilisez des rôles personnalisés pour spécifier les autorisations *.updateTag uniquement sur une ressource Google Cloud.

Rôles permettant de modifier la présentation en texte enrichi et les responsables des données dans Data Catalog

Les utilisateurs doivent disposer des rôles suivants pour joindre une présentation en texte enrichi et attribuer des responsables des données aux entrées dans Data Catalog:

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

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

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

Data Catalog accepte la fédération d'identité avec les limites suivantes:

Pour en savoir plus