Présentation du contrôle des accès basé sur les rôles

Cette page décrit l'autorisation détaillée avec le contrôle des accès basé sur les rôles (RBAC), disponible dans Cloud Data Fusion 6.5 et versions ultérieures.

RBAC limite l'accès dans les environnements où vous développez des pipelines dans Cloud Data Fusion. RBAC vous aide à gérer l'accès des utilisateurs aux ressources Cloud Data Fusion, ce qu'ils peuvent faire avec ces ressources et les domaines (tels que les instances ou les espaces de noms) auxquels ils peuvent accéder. Cloud Data Fusion RBAC est un système d'autorisation qui permet une gestion précise des accès grâce à Identity and Access Management (IAM).

Quand utiliser RBAC

Le contrôle des accès basé sur les rôles fournit une isolation au niveau de l'espace de noms dans une seule instance Cloud Data Fusion. Elle est recommandée pour les cas d'utilisation suivants:

  • Aider à réduire le nombre d'instances utilisées par votre organisation.
  • Disposer de plusieurs développeurs, équipes ou unités commerciales utilise une seule instance Cloud Data Fusion.

Grâce à Cloud Data Fusion RBAC, les organisations peuvent :

  • Autoriser un utilisateur à n'exécuter un pipeline qu'au sein d'un espace de noms, sans modifier les artefacts ni les profils de calcul d'exécution.
  • Autoriser un utilisateur à afficher uniquement le pipeline, sans pouvoir le modifier ni l'exécuter.
  • Autorisez un utilisateur à créer, déployer et exécuter un pipeline.

Recommandé:Pour maintenir l'isolation, la sécurité et la stabilité des performances, utilisez des projets et des instances distincts pour les environnements de développement et de production, même lorsque vous utilisez RBAC.

Limites

  • Un utilisateur peut se voir attribuer un ou plusieurs rôles au niveau de l'instance ou de l'espace de noms.
  • Le contrôle RBAC n'est disponible que dans l'édition Cloud Data Fusion Enterprise.
  • Nombre d'espaces de noms: pas de limite stricte au nombre d'espaces de noms par instance.
  • Utilisateurs: 50 utilisateurs par instance au maximum sont acceptés.
  • Rôles personnalisés: il n'est pas possible de créer des rôles RBAC personnalisés.
  • Cloud Data Fusion RBAC ne prend pas en charge l'autorisation sur la gestion des connexions.
  • Lorsque vous utilisez des jetons d'accès OAuth de compte de service pour accéder à des instances compatibles avec RBAC version 6.5, les champs d'application suivants doivent être spécifiés, en particulier le champ d'application userinfo.email. Sans eux, vous rencontrerez des erreurs d'autorisation refusée.
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/cloud-platform ou https://www.googleapis.com/auth/servicecontrol

Role assignments (Attributions de rôles)

Une attribution de rôle se compose de trois éléments : le compte principal, la définition du rôle et le champ d'application.

Compte principal

Un compte principal (anciennement appelé membre) peut être un compte Google (pour les utilisateurs finaux), un compte de service (pour les applications et les machines virtuelles) ou un groupe Google qui demande l'accès aux ressources Cloud Data Fusion. Vous pouvez attribuer un rôle à l'un de ces comptes principaux.

Définition du rôle

Un rôle contient un ensemble d'autorisations qui vous permet d'effectuer des actions spécifiques sur les ressources Google Cloud.

Cloud Data Fusion fournit plusieurs rôles prédéfinis que vous pouvez utiliser.

Exemples :

  • Le rôle Administrateur d'instance (datafusion.admin) permet aux comptes principaux de créer et de supprimer des espaces de noms, et d'accorder des autorisations.
  • Le rôle Développeur (datafusion.developer) permet aux comptes principaux de créer et de supprimer des pipelines, de déployer des pipelines et d'exécuter des aperçus.

Définition du champ d'application

Le champ d'application correspond à l'ensemble des ressources auxquelles l'accès s'applique. Lorsque vous attribuez un rôle, vous pouvez restreindre davantage les actions autorisées en définissant un champ d'application (par exemple, une instance ou un espace de noms). Cela est utile si vous souhaitez attribuer le rôle de développeur à un utilisateur, mais pour un seul espace de noms.

Rôles Cloud Data Fusion prédéfinis

Cloud Data Fusion RBAC inclut plusieurs rôles prédéfinis que vous pouvez utiliser :

Rôle d'accès à l'instance (datafusion.accessor)
Accorde au compte principal l'accès à une instance Cloud Data Fusion, mais pas aux ressources de l'instance. Utilisez ce rôle en combinaison avec d'autres rôles spécifiques à un espace de noms pour fournir un accès précis à l'espace de noms.
Rôle de lecteur (datafusion.viewer)
Accorde l'accès à un compte principal sur un espace de noms pour afficher les pipelines, mais pas pour les créer ni les exécuter.
Rôle d'opérateur (datafusion.operator)
Accorde l'accès à un compte principal sur un espace de noms pour accéder à des pipelines et les exécuter, modifier le profil de calcul, créer des profils de calcul ou importer des artefacts. Peut effectuer les mêmes actions qu'un développeur, à l'exception de l'aperçu des pipelines.
Rôle de développeur (datafusion.developer)
Accorde l'accès à un compte principal sur un espace de noms pour créer et modifier des ressources limitées, telles que des pipelines, dans l'espace de noms.
Rôle Éditeur (datafusion.editor)
Accorde au compte principal un accès complet à toutes les ressources Cloud Data Fusion sous un espace de noms au sein d'une instance Cloud Data Fusion. Ce rôle doit être attribué au compte principal en plus du rôle "Accesseur d'instances". Ce rôle permet au compte principal de créer, supprimer et modifier des ressources dans l'espace de noms.
Rôle d'administrateur d'instances (datafusion.admin)
Accorde l'accès à toutes les ressources d'une instance Cloud Data Fusion. Elles sont attribuées via IAM. Non attribuées au niveau de l'espace de noms via RBAC.
Opération datafusion.accessor datafusion.viewer datafusion.operator datafusion.developer datafusion.editor datafusion.admin
Instances
Accéder à l'instance
Espaces de noms
Créer un espace de noms *
Espace de noms d'accès avec accès explicite accordé
Accéder à l'espace de noms sans accès explicite accordé *
Modifier l'espace de noms
Supprimer l'espace de noms
Compte de service d'espace de noms
Ajouter un compte de service
Modifier le compte de service
Supprimer le compte de service
Utiliser le compte de service
CABR
Accorder ou révoquer des autorisations pour d'autres comptes principaux dans l'espace de noms *
Programmations
Créer une planification
Afficher le calendrier
Modifier la programmation
Profils Compute
Créer des profils de calcul
Afficher les profils de calcul
Modifier les profils de calcul
Supprimer des profils de calcul
Connexions
Créer des connexions
Afficher les connexions
Modifier les connexions
Supprimer des connexions
Utiliser des connexions
Pipelines
Créer des pipelines
Afficher les pipelines
Modifier les pipelines
Supprimer les pipelines
Prévisualiser les pipelines
Déployer des pipelines
Exécuter des pipelines
Clés sécurisées
Créer des clés sécurisées
Afficher les clés sécurisées
Supprimer des clés sécurisées
Tags
Créer des tags
Afficher les tags
Supprimer les tags
Cloud Data Fusion Hub
Déployer des plug-ins
Gestion du contrôle des sources
Configurer le dépôt Source Control
Synchroniser des pipelines à partir d'un espace de noms
Traçabilité
Afficher la traçabilité
Journaux
Afficher les journaux

* Le compte principal doit disposer du rôle IAM "Administrateur Data Fusion", et non du rôle RBAC "Administrateur d'instances".

Recommandations pour améliorer la sécurité

Il peut être difficile d'adopter un modèle de sécurité et de l'adapter aux besoins et aux exigences de votre entreprise. Les recommandations suivantes ont pour but de vous aider à simplifier votre adoption du modèle RBAC de Cloud Data Fusion :

  • Le rôle Administrateur d'instances doit être accordé avec précaution. Ce rôle accorde un accès complet à une instance et à toutes ses ressources Cloud Data Fusion sous-jacentes. Un compte principal doté de ce rôle peut accorder des autorisations à d'autres personnes à l'aide de l'API REST.
  • Le rôle Administrateur d'instances ne doit pas être attribué lorsque les comptes principaux doivent avoir accès à des espaces de noms individuels dans une instance Cloud Data Fusion. Attribuez plutôt le rôle d'accesseur d'instances avec l'un des rôles Lecteur/Développeur/Opérateur/Éditeur sur un sous-ensemble des espaces de noms.
  • Vous pouvez attribuer le rôle Accesseur d'instances en toute sécurité en premier, car il permet aux comptes principaux d'accéder à l'instance, mais n'accorde l'accès à aucune ressource de l'instance. Ce rôle est généralement utilisé conjointement avec l'un des rôles Lecteur/Développeur/Opérateur/Éditeur pour accorder l'accès à un ou plusieurs sous-ensemble des espaces de noms d'une instance.
  • Le rôle de lecteur est recommandé pour les utilisateurs ou les groupes Google qui souhaitent disposer d'un libre-service pour comprendre l'état des tâches en cours, ou pour afficher des pipelines ou des journaux avec des instances Cloud Data Fusion. Par exemple, les utilisateurs de rapports quotidiens qui souhaitent savoir si le traitement est terminé.
  • Le rôle Développeur est recommandé pour les développeurs ETL chargés de créer, de tester et de gérer des pipelines.
  • Le rôle opérateur pour un espace de noms est recommandé pour les utilisateurs qui fournissent des services d'administrateur des opérations ou de DevOps. Ils peuvent effectuer toutes les actions que les développeurs peuvent effectuer (à l'exception de la prévisualisation des pipelines), ainsi que déployer des artefacts et gérer les profils de calcul.
  • Le rôle d'éditeur pour un espace de noms est un rôle privilégié qui accorde à l'utilisateur ou au groupe Google un accès complet à toutes les ressources de l'espace de noms. Le rôle d'éditeur peut être considéré comme l'union des rôles de développeur et d'opérateur.
  • Les opérateurs et les administrateurs doivent se méfier d'installer des plug-ins ou des artefacts non approuvés, car ils peuvent présenter un risque de sécurité.

Dépannage

Cette section de page vous explique comment résoudre les problèmes liés au contrôle d'accès RBAC dans Cloud Data Fusion.

Un compte principal disposant du rôle Lecteur Cloud Data Fusion pour un espace de noms dans RBAC peut modifier des pipelines

L'accès est basé sur une combinaison de rôles IAM et RBAC. Les rôles IAM sont prioritaires sur les rôles RBAC. Vérifiez si le compte principal dispose des rôles IAM Éditeur de projet ou Administrateur Cloud Data Fusion.

Un compte principal disposant du rôle d'administrateur d'instances dans RBAC ne peut pas afficher les instances Cloud Data Fusion dans la console Google Cloud

Dans Cloud Data Fusion, les comptes principaux dotés du rôle d'administrateur d'instances ne peuvent pas afficher les instances dans la console Google Cloud, ce qui est un problème connu dans Cloud Data Fusion. Pour résoudre le problème, accordez au compte principal le rôle Lecteur de projet ou l'un des rôles IAM Cloud Data Fusion en plus de lui attribuer le rôle d'administrateur d'une instance. Cela accorde un accès Lecteur au compte principal pour toutes les instances du projet.

Empêcher un compte principal d'afficher les espaces de noms lorsqu'il ne dispose d'aucun rôle

Pour empêcher un compte principal d'afficher les espaces de noms dans lesquels il n'a aucun rôle, il ne doit pas disposer du lecteur de projet ni d'aucun des rôles IAM Cloud Data Fusion. Accordez plutôt des rôles RBAC au compte principal dans l'espace de noms où il doit opérer.

Le compte principal disposant de ce type d'accès ne voit pas la liste des instances Cloud Data Fusion dans la console Google Cloud. À la place, donnez-leur un lien direct vers l'instance, comme suit : https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/

Lorsque le compte principal ouvre l'instance, Cloud Data Fusion affiche la liste des espaces de noms dans lesquels le rôle RBAC est attribué au compte principal.

Attribuer le rôle d'accesseur Cloud Data Fusion à un compte principal

Le rôle d'accesseur est implicitement attribué à un compte principal lorsque tout autre rôle RBAC lui est attribué pour une instance Cloud Data Fusion. Pour vérifier si un compte principal dispose de ce rôle sur une instance particulière, consultez IAM Policy Analyzer.

Étapes suivantes