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

Ce document décrit la nouvelle fonctionnalité d'autorisation précise disponible dans Cloud Data Fusion 6.5 et versions ultérieures.

Vous pouvez utiliser le contrôle des accès basé sur les rôles (RBAC) pour limiter l'accès dans les environnements dans lesquels vous développez vos pipelines dans Cloud Data Fusion. Le contrôle d'accès RBAC vous aide à déterminer qui a accès à quelles ressources Cloud Data Fusion, ce qu'il peut faire avec ces ressources et les zones (par exemple, les instances ou les espaces de noms) auxquelles elles ont accès. Cloud Data Fusion RBAC est un système d'autorisation qui fournit une gestion précise des accès basée sur IAM (Identity and Access Management).

Quand utiliser RBAC

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

  • 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.

Avec Cloud Data Fusion RBAC, les organisations peuvent:

  • Autoriser un utilisateur à exécuter uniquement un pipeline dans un espace de noms, mais pas à modifier les artefacts ni les profils de calcul d'exécution.
  • Autoriser un utilisateur à afficher uniquement le pipeline, mais pas à le modifier ni à l'exécuter
  • Permet à un utilisateur de créer, de déployer et d'exécuter un pipeline.

Recommandé:lorsque vous utilisez RBAC, pour maintenir l'isolation, la sécurité et la stabilité des performances, il est recommandé de disposer de projets et d'instances distincts pour les environnements de développement et de production.

Limites

  • Un rôle IAM Cloud Data Fusion contient un certain nombre d'autorisations.
  • 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 d'accès RBAC n'est disponible que dans l'édition Data Fusion de Cloud Data Fusion.
  • Nombre d'espaces de noms: pas de limite stricte quant au nombre d'espaces de noms par instance.
  • Il n'est actuellement pas possible de supprimer un espace de noms.
  • Utilisateurs: un maximum de 50 utilisateurs par instance est accepté.
  • Rôles personnalisés: nous vous déconseillons vivement de créer des rôles personnalisés. Les versions futures peuvent être incompatibles avec les rôles personnalisés que vous créez dans la version actuelle.
  • Cloud Data Fusion RBAC n'est actuellement pas compatible avec l'autorisation pour la gestion des connexions.

Attributions de rôles

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

Principal

Un principal (anciennement "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 demandant l'accès aux ressources Cloud Data Fusion. Vous pouvez attribuer un rôle à n'importe lequel 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'instances (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 les déployer et d'exécuter des aperçus.

Champ d'application

Champ d'application : ensemble de ressources auquel 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). Cette opération est utile si vous souhaitez attribuer un rôle de développeur à un utilisateur, mais uniquement à 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 prédéfini Description Opérations qu'un compte principal peut effectuer lorsque ce rôle lui est attribué dans un espace de noms
Rôle d'administrateur d'instances (datafusion.admin) Accorde l'accès à toutes les ressources d'une instance Cloud Data Fusion. ND. Non attribuée au niveau de l'espace de noms.
Rôle avec accès aux instances (datafusion.accessor) Accorde le compte principal à une instance Cloud Data Fusion, mais à aucune ressource de l'instance. Utilisez ce rôle conjointement avec d'autres rôles spécifiques à un espace de noms pour fournir un accès précis à l'espace de noms.
  • Accès à l'instance autorisé
  • Impossible d'accéder à l'espace de noms
  • Impossible de créer l'espace de noms
  • Impossible de supprimer l'espace de noms
  • Impossible de créer un pipeline
  • Impossible de déployer le pipeline
  • Impossible de déployer le plug-in Hub.
  • Impossible de créer la planification
  • Impossible de modifier la programmation
  • Impossible d'exécuter le pipeline
  • Impossible de prévisualiser le pipeline
  • Impossible de supprimer le pipeline
  • Impossible d'afficher le tag
  • Impossible de supprimer le tag
  • Impossible d'afficher les journaux
  • Impossible d'afficher le profil de calcul
  • Impossible de modifier le profil de calcul
  • Impossible de supprimer le profil de calcul
Rôle Éditeur (datafusion.editor) Accorde le compte principal principal à toutes les ressources Cloud Data Fusion sous un espace de noms dans une instance Cloud Data Fusion. Ce rôle doit être attribué en plus du rôle d'accesseur d'instances au compte principal. Avec ce rôle, le compte principal peut créer, supprimer et modifier des ressources dans l'espace de noms.
  • Peut afficher le pipeline
  • Peut créer un pipeline
  • Peut déployer un pipeline
  • Peut supprimer le pipeline
  • Peut déployer le plug-in Hub
  • Peut exécuter un pipeline
  • Peut créer une programmation
  • Peut modifier la programmation
  • Peut consulter les journaux
  • Afficher la traçabilité
  • Création de tags autorisée
  • Suppression du tag autorisée
  • Peut prévisualiser le pipeline
  • Peut créer un profil de calcul
  • Peut modifier le profil de calcul
  • Peut supprimer le profil de calcul
  • Impossible d'accorder ou de révoquer des autorisations pour les autres comptes principaux pour cet espace de noms
  • Impossible de créer l'espace de noms
  • Impossible de modifier l'espace de noms
  • Impossible de supprimer l'espace de noms
  • Impossible d'accéder à l'espace de noms auquel ils n'ont pas accès
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 dans l'espace de noms (par exemple, des pipelines).
  • Peut afficher le pipeline
  • Peut créer un pipeline
  • Peut déployer un pipeline
  • Peut modifier le pipeline
  • Peut supprimer le pipeline
  • Peut exécuter un pipeline
  • Peut consulter les journaux
  • Afficher la traçabilité
  • Création de tags autorisée
  • Suppression du tag autorisée
  • Peut prévisualiser le pipeline
  • Peut créer une programmation
  • Peut modifier la programmation
  • Peut afficher les clés sécurisées
  • Peut créer des clés sécurisées
  • Peut supprimer les clés sécurisées
  • Impossible de déployer le plug-in Hub.
  • Impossible de créer un profil de calcul
  • Impossible de modifier le profil de calcul
  • Impossible de supprimer le profil de calcul
  • Impossible d'accorder ou de révoquer des autorisations à d'autres comptes principaux pour l'espace de noms
  • Impossible de créer l'espace de noms
  • Impossible de supprimer l'espace de noms
  • Impossible d'accéder aux espaces de noms auxquels ils n'ont pas accès
Rôle d'opérateur (datafusion.operator) Accorde l'accès à un compte principal sur un espace de noms pour accéder aux 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 des pipelines de prévisualisation.
  • Peut exécuter le pipeline
  • Peut déployer un pipeline
  • Peut déployer le plug-in Hub
  • Peut créer une programmation
  • Peut modifier la programmation
  • Peut afficher le pipeline
  • Peut exécuter un pipeline
  • Peut consulter les journaux
  • Consultation des tags autorisée
  • Suppression de tags autorisée
  • Peut créer des tags
  • Afficher la traçabilité
  • Peut afficher les clés sécurisées
  • Peut créer des clés sécurisées
  • Peut supprimer les clés sécurisées
  • Peut créer un profil de calcul
  • Peut modifier le profil de calcul
  • Peut supprimer le profil de calcul
  • Impossible de créer un pipeline
  • Impossible de modifier le pipeline
  • Impossible de prévisualiser le pipeline
  • Impossible de créer l'espace de noms
  • Impossible de supprimer 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 créer ni exécuter des pipelines.
  • Peut afficher un pipeline
  • Peut consulter les journaux
  • Afficher la traçabilité
  • Consultation des tags autorisée
  • Impossible d'afficher les clés sécurisées
  • Impossible de créer des clés sécurisées
  • Impossible de supprimer les clés sécurisées
  • Impossible de déployer le pipeline
  • Impossible de déployer le plug-in Hub.
  • Impossible de supprimer le pipeline
  • Impossible d'exécuter le pipeline
  • Impossible de créer l'espace de noms
  • Impossible de modifier l'espace de noms
  • Impossible de supprimer l'espace de noms
  • Impossible de créer un profil de calcul
  • Impossible de modifier le profil de calcul
  • Impossible de supprimer le profil de calcul

Recommandations permettant d'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 organisation. Les recommandations suivantes visent à vous aider à adopter le modèle RBAC de Cloud Data Fusion:

  • Le rôle Administrateur d'instance 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 utilisateurs via l'API REST.
  • Le rôle d'administrateur d'instances ne doit pas être attribué lorsque les comptes principaux doivent accéder à des espaces de noms individuels au sein d'une instance Cloud Data Fusion. Accordez-lui plutôt le rôle Accesseur d'instances avec l'un des rôles Lecteur/Développeur/Opérateur/Éditeur sur un sous-ensemble des espaces de noms.
  • Le rôle Accesseur d'instance est sécurisé en premier, car il autorise l'accès des instances principales aux instances, mais n'accorde pas l'accès aux ressources de l'instance. Ce rôle est généralement utilisé conjointement avec le rôle Lecteur/Développeur/Opérateur/Éditeur pour accorder l'accès à un ou plusieurs sous-ensembles d'espaces de noms dans une instance.
  • Il est recommandé d'attribuer le rôle Lecteur aux utilisateurs ou aux groupes Google qui souhaitent être en libre-service pour comprendre l'état des tâches en cours d'exécution, ou pour afficher les pipelines ou les journaux avec des instances Cloud Data Fusion. (Installation de Python groupée). par exemple, les utilisateurs de rapports quotidiens qui souhaitent savoir si le traitement est terminé.
  • Le rôle de développeur est recommandé pour les développeurs ETL responsables de la création, du test et de la gestion des pipelines.
  • Le rôle d'opérateur pour un espace de noms est recommandé pour les utilisateurs qui fournissent des services d'administration ou de DevOps. Ils peuvent effectuer toutes les actions que les développeurs peuvent effectuer (à l'exception de la prévisualisation des pipelines), mais aussi déployer des artefacts et gérer les profils de calcul.
  • Le rôle Éditeur pour un espace de noms est un rôle privilégié qui donne à l'utilisateur ou au groupe Google un accès complet à toutes les ressources de l'espace de noms. Editor 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 soucier d'installer des plug-ins ou des artefacts non approuvés, car ils peuvent présenter un risque pour la sécurité.

Étape suivante