Rôles et autorisations RBAC

Cette page décrit les rôles et les autorisations utilisés par les instances Cloud Data Fusion avec le contrôle des accès basé sur les rôles (RBAC) activé.

Pour une application précise des accès au niveau de l'espace de noms et à un niveau inférieur, utilisez ces ressources et autorisations de plan de données avec RBAC.

Hiérarchie des ressources

Les ressources Cloud Data Fusion ont la hiérarchie de ressources suivante:

Hiérarchie des ressources du projet Cloud Data Fusion

Cette figure montre la hiérarchie des ressources par ordre décroissant (du plus large au plus restreint): projet Google Cloud, emplacement, instance Cloud Data Fusion et espaces de noms. Sous les espaces de noms se trouvent les connexions, les clés sécurisées, les pipelines, les artefacts (tels que les plug-ins, les pilotes et les applications) et les profils de calcul.

Les ressources suivantes sont des ressources de plan de données Cloud Data Fusion que vous contrôlez avec l'API REST ou dans Cloud Data Fusion Studio: espaces de noms, connexions, clés sécurisées, pipelines, artefacts et profils de calcul.

Rôles prédéfinis pour RBAC

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 un accès à une instance Cloud Data Fusion, mais pas aux ressources de l'instance. Utilisez ce rôle en association avec d'autres rôles spécifiques à un espace de noms pour fournir un accès précis à 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.
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 de la prévisualisation 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 accordé au compte principal en plus du rôle d'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. Attribué via IAM. Elles ne sont pas 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
Instance d'accès
Espaces de noms
Créer un espace de noms *
Espace de noms d'accès avec accès explicite accordé
Espace de noms d'accès 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 le calendrier
Compute profiles
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 les 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 un dépôt de contrôle des sources
Synchroniser les pipelines à partir d'un espace de noms
Tracé
Afficher la traçabilité
Journaux
Afficher les journaux

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

Pour obtenir la liste complète des autorisations incluses dans le rôle prédéfini de Cloud Data Fusion, consultez la page Rôles prédéfinis Cloud Data Fusion.

Rôles personnalisés pour RBAC

Certains cas d'utilisation ne peuvent pas être mis en œuvre à l'aide des rôles prédéfinis pour Cloud Data Fusion. Dans ce cas, créez un rôle personnalisé.

Examples

Les exemples suivants décrivent comment créer des rôles personnalisés pour RBAC:

  • Pour créer un rôle personnalisé qui n'accorde l'accès qu'aux clés sécurisées dans un espace de noms, créez un rôle personnalisé disposant des autorisations datafusion.namespaces.get et datafusion.secureKeys.*.

  • Pour créer un rôle personnalisé accordant un accès en lecture seule aux clés sécurisées, créez un rôle personnalisé disposant des autorisations datafusion.namespaces.get, datafusion.secureKeys.getSecret et datafusion.secureKeys.list.

Autorisations pour les actions courantes

Une seule autorisation prédéfinie peut ne pas être suffisante pour effectuer l'action correspondante. Par exemple, pour mettre à jour les propriétés d'un espace de noms, vous aurez peut-être également besoin de l'autorisation datafusion.namespaces.get. Le tableau suivant décrit les actions courantes effectuées dans une instance Cloud Data Fusion et les autorisations IAM requises:

Action Autorisation requise
Accéder à une instance datafusion.instances.get
Créer un espace de noms datafusion.namespaces.create
Obtenir un espace de noms datafusion.namespaces.get
Mettre à jour les métadonnées d'un espace de noms (telles que les propriétés)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Supprimer l'espace de noms (uniquement lorsque la réinitialisation irréversible est activée)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
Afficher les autorisations sur l'espace de noms datafusion.namespaces.getIamPolicy
Accorder des autorisations sur l'espace de noms datafusion.namespaces.setIamPolicy
Extraire les pipelines de la configuration SCM de l'espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
Transférer les pipelines vers un dépôt SCM pour l'espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.writeRepository
Obtenir la configuration SCM de l'espace de noms datafusion.namespaces.get
Mettre à jour la configuration SCM de l'espace de noms datafusion.namespaces.updateRepositoryMetadata
Définir un compte de service pour un espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.setServiceAccount
Désactiver un compte de service pour un espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.unsetServiceAccount
Provisionner des identifiants de compte de service pour un espace de noms datafusion.namespaces.provisionCredential
Afficher un brouillon de pipeline datafusion.namespaces.get
Créer/Supprimer un brouillon de pipeline
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Répertorier les profils de calcul datafusion.profiles.list
Créer un profil de calcul datafusion.profiles.create
Afficher un profil de calcul datafusion.profiles.get
Modifier un profil de calcul datafusion.profiles.update
Supprimer un profil de calcul datafusion.profiles.delete
Créez un lien
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.create
Afficher une connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.get
Modifier une connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.update
Supprimer une connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.delete
Parcourir, échantillonner ou afficher les spécifications de connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
Répertorier les pipelines datafusion.namespaces.get
Créer un pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Afficher le pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Modifier le pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.create
Modifier les propriétés du pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.update
Supprimer le pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.delete
Prévisualiser le pipeline datafusion.pipelines.preview
Exécuter le pipeline datafusion.pipelines.execute
Créer une planification datafusion.pipelines.execute
Afficher le calendrier
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Modifier le calendrier datafusion.pipelines.execute
Lister les clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
Créer des clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
Afficher les clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
Supprimer des clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
Répertorier les artefacts*
  • datafusion.namespaces.get
  • datafusion.artifacts.list
Créer un artefact*
  • datafusion.namespaces.get
  • datafusion.artifacts.create
  • datafusion.artifacts.update
Obtenir un artefact*
  • datafusion.namespaces.get
  • datafusion.artifacts.get
Supprimer un artefact*
  • datafusion.namespaces.get
  • datafusion.artifacts.delete
Préférences, tags et métadonnées Les préférences, les tags et les métadonnées sont définis au niveau de la ressource concernée (datafusion.RESOURCE.update).
Autorisations d'ensemble de données (obsolète) datafusion.namespaces.update

* Les artefacts, tels que les plug-ins et les pilotes, sont des éléments que vous importez dans Cloud Data Fusion pour développer des pipelines.

Étapes suivantes