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

Cette page décrit l'autorisation précise avec le contrôle des accès basé sur les rôles (RBAC) dans Cloud Data Fusion.

En activant RBAC dans vos instances Cloud Data Fusion, vous pouvez contrôler l'accès dans les instances et les espaces de noms, par exemple, qui peut accéder aux ressources Cloud Data Fusion et ce qu'il peut en faire.

Cas d'utilisation de 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 ni 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, utilisez des projets et des instances distincts pour les environnements de développement et de production.

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: aucune limite stricte concernant le nombre d'espaces de noms par instance.
  • Pour connaître le nombre maximal d'utilisateurs simultanés dans une instance RBAC, consultez la section Tarifs.
  • Rôles personnalisés: la création de rôles RBAC personnalisés n'est pas acceptée.
  • Le contrôle des accès basé sur les rôles (RBAC) Cloud Data Fusion 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 aux instances compatibles RBAC version 6.5, les champs d'application suivants doivent être spécifiés, en particulier le champ d'application userinfo.email. Sans elles, 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

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

Vous attribuez des rôles à des principals pour modifier leur accès aux ressources Cloud Data Fusion.

Définition du rôle

Un rôle contient un ensemble d'autorisations qui vous permet d'effectuer des actions spécifiques sur les ressourcesGoogle 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, comme une instance ou un espace de noms. Cette opération est utile si vous souhaitez attribuer le rôle de développeur à un utilisateur, mais pour un seul espace de noms.

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

Dépannage

Cette section de la page explique comment résoudre les problèmes liés au contrôle des accès basé sur les rôles (RBAC) dans Cloud Data Fusion.

Un compte principal disposant du rôle de 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 ont la priorité sur les rôles RBAC. Vérifiez si l'entité principale dispose des rôles IAM Project Editor (Éditeur de projet) ou Cloud Data Fusion Admin (Administrateur Cloud Data Fusion).

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

Il existe un problème connu dans Cloud Data Fusion où les principaux disposant du rôle d'administrateur d'instance ne peuvent pas afficher les instances dans la console Google Cloud . Pour résoudre le problème, attribuez au compte principal le rôle Lecteur de projet ou l'un des rôles IAM Cloud Data Fusion, en plus de l'autoriser à être administrateur d'une instance. Cela accorde à l'utilisateur avec le rôle de lecteur un accès au principal pour toutes les instances du projet.

Empêcher un compte principal de voir des espaces de noms pour lesquels il n'a aucun rôle

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

Le principal disposant de ce type d'accès ne verra pas la liste des instances Cloud Data Fusion dans la console Google Cloud . Envoyez-lui plutôt un lien direct vers l'instance, semblable à celui-ci : https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/

Lorsque le principal ouvre l'instance, Cloud Data Fusion affiche une liste des espaces de noms auxquels le principal est accordé le rôle RBAC.

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

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

Étape suivante