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 appliquer un contrôle d'accès précis au niveau de l'espace de noms et en dessous, utilisez ces ressources et autorisations du 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 dans l'ordre décroissant (du plus large au plus étroit) : Google Cloud projet, emplacement, instance Cloud Data Fusion et espaces de noms. Les espaces de noms ci-dessous, dans le désordre, sont des connexions, des clés sécurisées, des pipelines, des artefacts (tels que des plug-ins, des pilotes et des applications) et des profils de calcul.

Les ressources suivantes sont des ressources du 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 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)
 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.
Rôle 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, 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 le contrôle RBAC.
Opération datafusion.accessor datafusion.viewer datafusion.operator datafusion.developer datafusion.editor datafusion.admin
Instances
Accéder à l'instance
Espaces de noms
Créer un espace de noms *
Accéder à un espace de noms avec un accès explicite accordé
Accéder à l'espace de noms sans accès explicite *
Modifier un 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
Espaces de travail Wrangler
Créer des espaces de travail
Afficher les espaces de travail
Modifier des espaces de travail
Supprimer des espaces de travail
Utiliser les espaces de travail
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 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 du code source
Synchroniser des pipelines à partir d'un espace de noms
Lignée
Afficher la traçabilité
Journaux
Afficher les journaux

* Le compte 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 Rôles prédéfinis 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 pour Cloud Data Fusion. Dans ce cas, créez un rôle personnalisé.

Exemples

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 l'accès qu'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 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 de l'espace de noms (comme 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 l'espace de noms datafusion.namespaces.setIamPolicy
Extraire des pipelines à partir de la configuration SCM de l'espace de noms
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
Transférer des pipelines vers le 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
Supprimer 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
Lister 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, échantillonner ou afficher les spécifications de connexion
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
Créer un espace de travail Wrangler
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.create
Afficher un espace de travail Wrangler
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.get
Modifier ou rééchantillonner un espace de travail Wrangler
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.update
Supprimer un espace de travail Wrangler
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.delete
Appliquer un ensemble de directives à un espace de travail Wrangler
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.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
Aperçu du pipeline 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
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
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, tags et métadonnées Les préférences, les tags et les métadonnées sont définis au niveau de la ressource pour la ressource concernée (datafusion.RESOURCE.update).
Autorisations d'ensemble de données (obsolètes) 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