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

Ce document décrit la nouvelle fonctionnalité d'autorisation détaillée, disponible dans Cloud Data Fusion version 6.5 et ultérieure.

Vous pouvez utiliser le contrôle des accès basé sur les rôles (RBAC) pour restreindre l'accès dans les environnements où vous développez vos pipelines dans Cloud Data Fusion. Le contrôle d'accès RBAC permet de déterminer qui a accès à quelles ressources Cloud Data Fusion, ce qu'elles peuvent faire avec ces ressources et les zones auxquelles elles ont accès (par exemple, des instances ou des espaces de noms). Cloud Data Fusion RBAC est un système d'autorisation qui fournit une gestion des accès précise basée sur 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 instance Cloud Data Fusion unique. Il est recommandé 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 à exécuter uniquement un pipeline dans un espace de noms, mais pas à modifier les artefacts ou les profils de calcul d'exécution.
  • Autoriser un utilisateur à afficher uniquement le pipeline, mais pas à le modifier ni à l'exécuter.
  • Permettre à un utilisateur de créer, de déployer et d'exécuter un pipeline.

Recommandé : Même 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 RBAC n'est disponible que dans l'édition Cloud Data Fusion Enterprise.
  • Nombre d'espaces de noms : aucune limite stricte concernant le nombre d'espaces de noms par instance.
  • Il n'est actuellement pas possible de supprimer des espaces 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.
  • Actuellement, Cloud Data Fusion RBAC n'est pas compatible avec l'autorisation sur Connection Management.
  • Lorsque vous utilisez des jetons d'accès OAuth de compte de service pour accéder à des instances compatibles avec la version 6.5 de RBAC, les champs d'application suivants doivent être spécifiés, en particulier le champ d'application "userinfo.email". Sans quoi des erreurs de type "autorisation refusée" s'afficheront.
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/cloud-platform OU https://www.googleapis.com/auth/servicecontrol

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.

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). Cette opération est utile si vous souhaitez attribuer un rôle de développeur, 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 prédéfini Description Opérations pouvant être effectuées par un compte principal 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. n/a Non attribué au niveau de l'espace de noms.
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 conjointement avec d'autres rôles spécifiques aux espaces 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
  • Ne peut pas créer l'espace de noms
  • Ne peut pas supprimer l'espace de noms
  • Ne peut pas créer le pipeline
  • Ne peut pas déployer le pipeline
  • Ne peut pas déployer le plug-in Hub
  • Impossible de créer la planification
  • Impossible de modifier la programmation
  • Ne peut pas exécuter le pipeline
  • Ne peut pas afficher un aperçu du pipeline
  • Ne peut pas 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
  • Ne peut pas modifier le profil de calcul
  • Ne peut pas supprimer le profil de calcul
Rôle Éditeur (datafusion.editor) Accorde au compte principal l'accès complet à 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 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 le pipeline
  • Peut déployer le pipeline
  • Peut supprimer le pipeline
  • Peut déployer le plug-in Hub
  • Peut exécuter le pipeline
  • Peut créer la planification
  • Peut modifier la programmation
  • Peut consulter les journaux
  • Peut afficher la traçabilité
  • Peut créer le tag
  • Peut supprimer le tag
  • Peut prévisualiser le pipeline
  • Peut créer le profil de calcul
  • Peut modifier le profil de calcul
  • Peut supprimer le profil de calcul
  • Ne peut pas accorder ou révoquer des autorisations pour d'autres comptes principaux pour cet espace de noms
  • Ne peut pas créer l'espace de noms
  • Ne peut pas modifier l'espace de noms
  • Ne peut pas supprimer l'espace de noms
  • Ne peut pas accéder à l'espace de noms auquel il n'a pas accès
Rôle de développeur (datafusion.developer) Accorde un 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, les pipelines).
  • Peut afficher le pipeline
  • Peut créer le pipeline
  • Peut déployer le pipeline
  • Peut modifier le pipeline
  • Peut supprimer le pipeline
  • Peut exécuter le pipeline
  • Peut consulter les journaux
  • Peut afficher la traçabilité
  • Peut créer le tag
  • Peut supprimer le tag
  • Peut prévisualiser le pipeline
  • Peut créer la planification
  • Peut modifier la programmation
  • Peut afficher des clés sécurisées
  • Peut créer des clés sécurisées
  • Peut supprimer des clés sécurisées
  • Ne peut pas déployer le plug-in Hub
  • Ne peut pas créer le profil de calcul
  • Ne peut pas modifier le profil de calcul
  • Ne peut pas supprimer le profil de calcul
  • Ne peut pas accorder ou révoquer des autorisations pour d'autres comptes principaux pour cet espace de noms
  • Ne peut pas créer l'espace de noms
  • Ne peut pas supprimer l'espace de noms
  • Ne peut pas accéder à l'espace de noms auquel il n'a pas accès
Rôle d'opérateur (datafusion.operator) Permet à un compte principal l'accès 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 de la prévisualisation des pipelines.
  • Peut exécuter un pipeline
  • Peut déployer le pipeline
  • Peut déployer le plug-in Hub
  • Peut créer la planification
  • Peut modifier la programmation
  • Peut afficher le pipeline
  • Peut exécuter le pipeline
  • Peut consulter les journaux
  • Peut afficher les tags
  • Peut supprimer des tags
  • Peut créer des tags
  • Peut afficher la traçabilité
  • Peut afficher des clés sécurisées
  • Peut créer des clés sécurisées
  • Peut supprimer des clés sécurisées
  • Peut créer le profil de calcul
  • Peut modifier le profil de calcul
  • Peut supprimer le profil de calcul
  • Ne peut pas créer le pipeline
  • Ne peut pas modifier le pipeline
  • Ne peut pas afficher un aperçu du pipeline
  • Ne peut pas créer l'espace de noms
  • Ne peut pas supprimer l'espace de noms
Rôle Lecteur (datafusion.viewer) Accorde l'accès à un compte principal sur un espace de noms pour afficher les pipelines, mais pas pour créer ou exécuter des pipelines.
  • Peut afficher un pipeline
  • Peut consulter les journaux
  • Peut afficher la traçabilité
  • Peut afficher les tags
  • Ne peut pas afficher les clés sécurisées
  • Ne peut pas créer des clés sécurisées
  • Ne peut pas supprimer des clés sécurisées
  • Ne peut pas déployer le pipeline
  • Ne peut pas déployer le plug-in Hub
  • Ne peut pas supprimer le pipeline
  • Ne peut pas exécuter le pipeline
  • Ne peut pas créer l'espace de noms
  • Ne peut pas modifier l'espace de noms
  • Ne peut pas supprimer l'espace de noms
  • Ne peut pas créer le profil de calcul
  • Ne peut pas modifier le profil de calcul
  • Ne peut pas 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 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 via l'API REST.
  • Le rôle d'administrateur d'instance ne doit pas être accordé lorsque les comptes principaux doivent avoir accès à des espaces de noms individuels au sein d'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 en premier en toute sécurité le rôle d'accesseur d'instances, 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, des utilisateurs de rapports quotidiens qui souhaitent savoir si le traitement est terminé.
  • Le rôle de développeur est recommandé aux développeurs ETL chargés 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 DevOps. Ces utilisateurs peuvent effectuer toutes les actions que les développeurs peuvent effectuer (sauf pour prévisualiser les pipelines) et déployer des artefacts et gérer des 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é.

Étape suivante