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 fine de l'accès au niveau de l'espace de noms et au-dessous, 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 de projet Cloud Data Fusion

Cette figure montre la hiérarchie des ressources par ordre décroissant (du plus large au plus restreint): Google Cloud projet, emplacement, instance Cloud Data Fusion et espaces de noms. Vous trouverez ci-dessous, sans ordre, 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 le contrôle 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 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.
Rôle Lecteur (datafusion.viewer)
Accorde à un compte principal l'accès à 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 à 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.
Rôle de développeur (datafusion.developer)
Accorde à un principal un accès à 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 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.
Rôle d'administrateur d'instances (datafusion.admin)
Accorde l'accès à toutes les ressources d'une instance Cloud Data Fusion. Attribué via IAM. Non attribué 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 *
Accès à l'espace de noms avec accès explicite accordé
Accéder à un espace de noms sans autorisation d'accès explicite *
Modifier l'espace de noms
Supprimer l'espace de noms
Compte de service de l'espace de noms
Ajouter un compte de service
Modifier le compte de service
Supprimer le compte de service
Utiliser un 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
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 des 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
Hub Cloud Data Fusion
Déployer des plug-ins
Gestion du contrôle du code source
Configurer le dépôt de contrôle source
Synchroniser des pipelines à partir d'un espace de noms
Lignée
Afficher la traçabilité
Journaux
Afficher les journaux

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

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

Rôles personnalisés pour le contrôle RBAC

Certains cas d'utilisation ne peuvent pas être implémentés à l'aide des rôles prédéfinis de 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 le RBAC:

  • Pour créer un rôle personnalisé qui n'autorise que l'accès aux clés sécurisées d'un espace de noms, créez un rôle personnalisé avec les autorisations datafusion.namespaces.get et datafusion.secureKeys.*.

  • Pour créer un rôle personnalisé qui donne un accès en lecture seule aux clés sécurisées, créez un rôle personnalisé avec les 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 suffire pour effectuer l'action correspondante. Par exemple, pour mettre à jour les propriétés d'un espace de noms, vous devrez peut-être également disposer 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 de l'espace de noms (telles que les propriétés)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
Supprimer l'espace de noms (uniquement si la réinitialisation irrécupérable est activée)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
Afficher les autorisations sur l'espace de noms datafusion.namespaces.getIamPolicy
Accorder des autorisations sur un espace de noms datafusion.namespaces.setIamPolicy
Tirer des pipelines à partir de la configuration du SCM de l'espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
Transférer des pipelines vers un dépôt SCM pour un 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 du 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éfinir 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éer une connexion
  • 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, consulter ou afficher les spécifications de connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
Répertorier les pipelines
  • datafusion.namespaces.get
  • datafusion.pipelines.list
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
Pipeline Preview datafusion.pipelines.preview
Exécuter le pipeline datafusion.pipelines.execute
Créer une planification datafusion.pipelines.execute
Afficher le planning
  • datafusion.namespaces.get
  • datafusion.pipelines.get
Modifier la programmation datafusion.pipelines.execute
Répertorier les clés de sécurité
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
Créer des clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
Afficher les clés de sécurité
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
Supprimer des clés sécurisées
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
Lister 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, balises et métadonnées Les préférences, les balises et les métadonnées sont définies au niveau de la ressource pour la ressource en question (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.

Étape suivante