Gestion des accès avec IAM

Ce document explique comment utiliser Identity and Access Management (IAM) pour gérer le contrôle des accès aux ressources Knowledge Catalog (anciennement Dataplex Universal Catalog). IAM contrôle l'accès à vos ressources Knowledge Catalog au niveau de la Google Cloud ressource. Il vous permet de contrôler les comptes principaux qui peuvent gérer des ressources spécifiques, telles que des groupes d'entrées et des entrées, à l'aide de la console Google Cloud , de Google Cloud CLI, de bibliothèques clientes ou d'API.

Pour en savoir plus sur IAM, consultez la documentation IAM.

Présentation d'IAM

Lorsque vous créez un nouveau Google Cloud projet, le rôle Propriétaire est attribué au créateur du projet d'origine. D'autres comptes de service gérés par Google peuvent exister ou être créés lorsque vous activez une API pour effectuer des tâches spécifiques. Toutefois, aucun autre utilisateur individuel n'a accès au projet ni à ses ressources, y compris aux ressources Knowledge Catalog. Vous n'accordez cet accès que lorsque vous ajoutez explicitement des utilisateurs en tant que membres du projet ou que vous leur attribuez des rôles sur des ressources spécifiques.

IAM vous permet d'accorder un accès précis à des ressources spécifiques Google Cloud et empêche tout accès non souhaité à d'autres ressources. IAM vous permet d'adopter le principe de sécurité du moindre privilège en n'accordant que l'accès nécessaire à vos ressources.

IAM vous permet de contrôler qui (comptes principaux) dispose de quel type d'accès (rôles) à quelles ressources.

Compte principal

Un compte principal peut être un compte Google (pour les utilisateurs finaux), un compte de service (pour les applications et les machines virtuelles), un groupe Google, ou un domaine Google Workspace ou Cloud Identity. Ces comptes principaux peuvent accéder à une ressource. Lorsque vous attribuez des rôles, vous identifiez le compte principal à l'aide d'un identifiant, comme décrit dans la documentation de référence sur les liaisons de stratégies.

Pour en savoir plus, consultez la section Présentation d'IAM : comptes principaux.

Agent de service

Knowledge Catalog utilise un Google Cloud compte de service géré, un agent de service, pour accéder à vos ressources. Les agents de service sont des comptes de service gérés par Google qui permettent aux Google Cloud services d'accéder aux ressources de votre projet. Ils sont différents des comptes de service gérés par l'utilisateur, que vous créez et utilisez pour représenter vos applications ou vos charges de travail.

L'agent de service est créé lorsque vous activez l'API Dataplex. Vous pouvez identifier l'agent de service par son ID d'adresse e-mail :

service-CUSTOMER_PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

Ici, CUSTOMER_PROJECT_NUMBER correspond au numéro du projet dans lequel vous avez activé l'API Dataplex.

L'agent de service nécessite le rôle Agent de service Dataplex (roles/dataplex.serviceAgent) sur le projet pour gérer les ressources Knowledge Catalog. Lorsque vous activez l'API, le système attribue automatiquement ce rôle. Si vous révoquez ce rôle, Knowledge Catalog risque de ne pas fonctionner correctement.

Si Knowledge Catalog doit accéder à des ressources d'autres projets (par exemple, des buckets Cloud Storage ou des ensembles de données BigQuery que vous souhaitez associer en tant qu'éléments ou analyser pour obtenir des profils de données), vous devez accorder à cet agent de service les autorisations requises dans les projets contenant ces ressources.

Pour en savoir plus sur l'attribution d'autorisations à l'agent de service pour associer des éléments, consultez la page Gérer les éléments de données.

Pour en savoir plus sur l'attribution d'autorisations à l'agent de service pour le profilage des données, consultez la page Créer et utiliser des analyses de profilage des données.

Identité d'exécution pour les analyses de données

Par défaut, Knowledge Catalog utilise l'agent de service pour exécuter vos analyses de qualité et de profilage des données. Toutefois, vous pouvez choisir de remplacer ce comportement et d'exécuter des analyses à l'aide d'un compte de service personnalisé ou de vos propres identifiants d'utilisateur final.

Si vous spécifiez un compte de service personnalisé pour l'identité d'exécution de votre analyse, l'agent de service nécessite le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) (ou l'autorisation iam.serviceAccounts.getAccessToken) sur le compte de service cible pour emprunter son identité et exécuter la tâche. Pour en savoir plus, consultez la documentation sur l'identité d'exécution pour la qualité des données et le profilage des données.

Ressource

Les ressources auxquelles vous pouvez accorder l'accès dans Knowledge Catalog incluent les projets, les groupes d'entrées, les entrées, les liens d'entrée, les types d'aspects, les types d'entrées et les types de liens d'entrée.

Certaines méthodes d'API nécessitent des autorisations pour plusieurs ressources. Par exemple, l'association d'un aspect à une entrée nécessite des autorisations à la fois sur l'entrée et sur le type d'aspect.

Rôle

Un rôle est un ensemble d'autorisations qui déterminent les opérations qu'un compte principal peut effectuer sur une ressource. Attribuer un rôle à un compte principal revient à lui accorder toutes ses autorisations.

Vous pouvez attribuer un ou plusieurs rôles à un compte principal.

Comme d'autres Google Cloud produits, Knowledge Catalog est compatible avec trois types de rôles :

  • Rôles de base : rôles très permissifs (Propriétaire, Éditeur, Lecteur) qui existaient avant l'introduction d'IAM. Pour en savoir plus sur les rôles de base, consultez la section Rôles de base.

  • Rôles prédéfinis : fournissent un accès précis à des ressources spécifiques Google Cloud. Pour en savoir plus sur les rôles prédéfinis, consultez la section Rôles prédéfinis. La documentation sur les rôles IAM de Knowledge Catalog décrit les rôles prédéfinis de Knowledge Catalog .

  • Rôles personnalisés : vous aident à appliquer le principe du moindre privilège en n'accordant que les autorisations spécifiques nécessaires. Pour en savoir plus sur les rôles personnalisés, consultez la section Rôles personnalisés.

Par exemple, le rôle prédéfini Lecteur Dataplex (roles/dataplex.viewer) fournit un accès en lecture seule aux ressources Knowledge Catalog. Un compte principal doté de ce rôle peut afficher des groupes d'entrées, des entrées, des liens d'entrée, des types d'aspects, des types d'entrées et des types de liens d'entrée, mais ne peut pas les créer, les mettre à jour ni les supprimer. À l'inverse, le rôle Administrateur Dataplex (roles/dataplex.admin) accorde un accès étendu pour gérer les ressources Knowledge Catalog.

Pour en savoir plus sur l'attribution de rôles, consultez la page Accorder, modifier et révoquer les accès.

Pour déterminer les autorisations dont vous avez besoin pour une tâche spécifique, consultez les pages de référence sur les rôles Knowledge Catalog et les autorisations Knowledge Catalog.

Par exemple, pour une ressource de projet, vous pouvez attribuer le rôle roles/dataplex.admin à un compte Google. Ce compte peut ensuite gérer les ressources Knowledge Catalog du projet, mais pas les autres ressources. IAM permet également de gérer les rôles de base accordés aux membres de l'équipe de projet.

Stratégies IAM pour les ressources

Une stratégie IAM vous permet de gérer des rôles IAM sur des ressources au lieu ou en complément des rôles que vous gérez au niveau du projet. Cela vous permet d'appliquer le principe du moindre privilège en n'accordant l'accès qu'aux ressources spécifiques dont les collaborateurs ont besoin pour leur travail.

Les ressources héritent des stratégies de leurs ressources parentes. Si vous définissez une stratégie au niveau du projet, toutes ses ressources enfants en héritent. La stratégie effective pour une ressource est l'union de la stratégie définie sur cette ressource et de la stratégie héritée d'un niveau supérieur de la hiérarchie. Pour en savoir plus, consultez la section Hiérarchie des stratégies IAM.

Vous pouvez obtenir et définir des stratégies IAM à l'aide de la Google Cloud console, de l' API Identity and Access Management ou de gcloud CLI.

Étape suivante