IAM Data Catalog

Ce document décrit les rôles IAM (Identity and Access Management) qui permettent d'utiliser Data Catalog pour effectuer des recherches dans Google Cloud et y ajouter des tags ressources.

Terminologie IAM

Autorisations
Vérifié au moment de l'exécution pour vous permettre d'effectuer une opération ou un accès 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. Rôles personnalisés comprenant d'une collection personnalisée 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 appuyez 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 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. Quelques exemples sont décrits dans les sections suivantes.

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

Rôle d'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 de responsable de données Data Catalog

Le rôle roles/datacatalog.dataSteward vous permet d'ajouter, de modifier ou supprimer les responsables des données et l'aperçu en texte enrichi pour une entrée de données, par exemple 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 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 de lecteur Data Catalog sur votre projet pour afficher Google Cloud ressources 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 la recherche, toutes les ressources Google Cloud classées au sein d'un projet ou d'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 traçabilité d'une entrée Data Catalog, vous devez : à l'entrée concernée dans Data Catalog. Pour accéder au Data Catalog, vous devez disposer du rôle "Lecteur" pour ressource système ou Lecteur Data Catalog (roles/datacatalog.viewer) sur le projet qui stocke le 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 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 ayant généré la traçabilité a été 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 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. Les deux sous-sections suivantes fournissent dans les moindres détails.

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 consultez 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 normalement Projet de ressources Data Catalog
  • Les projets dans lesquels la lignée 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 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, accordez le rôle Lecteur de la traçabilité des données (roles/datalineage.viewer). au niveau du dossier ou de l'organisation pour garantir l'accès à la traçabilité (consultez 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 lorsque vous consultez la lignée

Lorsque des métadonnées sur 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. Toi peut avoir accès aux éléments du graphique ou de la liste de traçabilité via des les rôles de lecteur, mais pas d'accès à leur traçabilité. 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 la traçabilité à l'aide de l'API Data Lineage.

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 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é présenté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 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 qui devraient 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 l'attribut de recherche du modèle de tag. pour trouver les tags, La recherche simple de tags privés n'est pas prise en charge.

Remarques :

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

  • Les autorisations d'affichage sur les entrées de données pour les tags publics et privés est inclus 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 pour 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
Voir également Rôle de 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 à 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 d'associer des tags publics et privés à l'aide de Data Catalog aux ressources Google Cloud répertorié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.

Remarques :

  • 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. rôle de ressource.

  • 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

Rôles d'éditeur prédéfinis pour les entrées de données provenant d'autres systèmes Google Cloud peut fournir 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 doivent disposer des rôles suivants pour définir et récupérer la configuration associée à 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 :

Pour en savoir plus