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 ressource Google Cloud . Il vous permet de contrôler les principaux autorisés à gérer des ressources spécifiques, telles que des groupes et des entrées, à l'aide de la console Google Cloud , de Google Cloud CLI, des bibliothèques clientes ou des API.

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

Présentation d'IAM

Lorsque vous créez un projet Google Cloud , 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 d'un 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 Google Cloudspécifiques 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) a accès (rôles) à quelles ressources.

Principal

Un 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 Présentation d'IAM : comptes principaux.

L'agent de service

Knowledge Catalog utilise un compte de service géré Google Cloud , 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 services Google Cloud d'accéder aux ressources de votre projet. Il s'agit d'un compte différent des comptes de service gérés par l'utilisateur, que vous créez et utilisez pour représenter vos applications ou charges de travail.

L'agent de service est créé lorsque vous activez l'API Dataplex. Vous pouvez identifier l'agent de service par son 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 dans 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'octroi d'autorisations à l'agent de service pour associer des composants, consultez Gérer les composants de données.

Pour en savoir plus sur l'octroi d'autorisations à l'agent de service pour le profilage des données, consultez 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 la qualité et du profil de vos 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 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 pouvoir l'emprunter et exécuter le job. 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, pour associer un aspect à une entrée, vous devez disposer des autorisations nécessaires pour l'entrée et 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. Lorsque vous attribuez un rôle à un compte principal, vous lui accordez toutes les autorisations contenues dans ce rôle.

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

Comme les autres produits Google Cloud , 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 Rôles de base.

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

  • Les 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 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 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, mais ne peut pas les créer, les modifier ni les supprimer. À l'inverse, le rôle Administrateur Dataplex (roles/dataplex.admin) accorde un accès étendu à la gestion des ressources Knowledge Catalog.

Pour en savoir plus sur l'attribution de rôles, consultez 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. Vous pouvez ainsi appliquer le principe du moindre privilège en n'accordant l'accès qu'aux ressources spécifiques dont les collaborateurs ont besoin pour effectuer leur travail.

Les ressources héritent des stratégies de leurs ressources parentes. Si vous définissez une stratégie au niveau d'un projet, toutes ses ressources enfants l'héritent. La stratégie applicable à une ressource combine la stratégie définie pour celle-ci et la stratégie héritée des niveaux supérieurs de la hiérarchie. Pour en savoir plus, consultez la hiérarchie des stratégies IAM.

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

Étapes suivantes