Contrôle des accès avec IAM

Cette page décrit les options de contrôle des accès disponibles dans Cloud Data Fusion.

Vous pouvez contrôler l'accès aux ressources dans Cloud Data Fusion dans les différentes manières:

  • Pour contrôler l'accès aux opérations du plan de contrôle, comme la création et la mise à jour via la console Google Cloud, Google Cloud CLI et l'API REST, utilisent Identity and Access Management (IAM), comme décrit sur cette page.

  • Pour accorder l'accès à des services de données Google Cloud, tels que BigQuery ou Cloud Storage vers un compte de service dans lequel des pipelines s'exécutent, utilisez Cloud IAM.

  • Pour contrôler précisément les autorisations associées aux actions effectuées dans (appelée plan de données telles que le démarrage de pipelines, utilisent le contrôle des accès basé sur les rôles (RBAC).

Pour en savoir plus sur l'architecture et les ressources impliquées sur le contrôle des accès de Cloud Data Fusion, consultez Mise en réseau. Pour en savoir plus sur l'attribution de rôles et d'autorisations, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations

À propos d'IAM dans Cloud Data Fusion

Vous contrôlez l'accès aux fonctionnalités de Cloud Data Fusion en accordant les rôles et autorisations IAM permettant comptes de service et d'autres comptes principaux de votre projet Google Cloud.

Pour accorder un accès précis aux comptes utilisateur afin qu'ils puissent utiliser l'interface Web Cloud Data Fusion, utilisez RBAC

Par défaut, Cloud Data Fusion utilise les comptes de service suivants:

Compte de service Cloud Data Fusion

Le compte de service Cloud Data Fusion est un agent de service géré par Google qui peut accéder aux ressources des clients au moment de la conception du pipeline. Cet agent de service est automatiquement ajouté à un projet lorsque vous activez API Cloud Data Fusion. Il est utilisé pour toutes les instances de votre projet.

L'agent de service a les responsabilités suivantes:

  • La communication avec d'autres services, comme Cloud Storage, BigQuery ou Datastream lors de la conception du pipeline.

  • Permettre l'exécution en provisionnant les clusters Dataproc et l'envoi de jobs de pipeline.

Rôles pour le compte de service Cloud Data Fusion

Par défaut, le compte de service Cloud Data Fusion dispose uniquement Rôle d'agent de service de l'API Cloud Data Fusion (roles/datafusion.serviceAgent).

Le nom principal de cet agent de service est service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com

Les ressources par défaut suivantes sont associées à l'API Cloud Data Fusion rôle d'agent de service.

Rôle Ressource Autorisations
Agent de service de l'API Cloud Data Fusion Services associés:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Connectivité réseau
  • Intégration de la sécurité réseau
  • API de services réseau
  • Règles d'administration
  • Outil de recommandation d'API
  • API Cloud Resource Manager
  • Service Networking
  • Service Usage
  • Spanner
  • Cloud Storage
  • Cloud Service Mesh
Voir l'agent de service de l'API Cloud Data Fusion autorisations.

Compte de service Compute Engine par défaut ou compte de service personnalisé

Le compte de service Compute Engine est le compte par défaut Cloud Data Fusion utilise pour déployer et exécuter des jobs qui accèdent à d'autres aux ressources Google Cloud. Par défaut, il s'associe sur une VM de cluster Dataproc pour permettre à Cloud Data Fusion d'accéder Ressources Dataproc lors de l'exécution d'un pipeline

Vous pouvez choisir un compte de service personnalisé à rattacher à Dataproc lors de la création d'une instance Cloud Data Fusion ou Profils de calcul dans l'interface Web de Cloud Data Fusion.

Pour en savoir plus, consultez Comptes de service dans Cloud Data Fusion

Rôles pour le compte de service Compute Engine

Par défaut, pour accéder aux ressources (telles que les sources et les récepteurs) lorsque vous exécutez une de données, Cloud Data Fusion utilise Compte de service Compute Engine par défaut.

Vous pouvez configurer un compte de service personnalisé géré par l'utilisateur pour Instances Cloud Data Fusion et attribuez un rôle à ce compte. Ensuite, vous pouvez choisir ce compte de service lorsque vous créez des instances.

Rôle d'exécuteur Cloud Data Fusion

Dans le projet contenant l'instance Cloud Data Fusion, les deux options par défaut et les comptes de service personnalisés gérés par l'utilisateur, accordent à l'exécuteur Cloud Data Fusion rôle (datafusion.runner).

Rôle Description Autorisation
Exécuteur Data Fusion (datafusion.runner) Permet au compte de service Compute Engine de communiquer avec aux services Cloud Data Fusion projet locataire datafusion.instances.runtime

Rôle Utilisateur du compte de service

Sur le compte de service par défaut ou géré par l'utilisateur dans le projet où Les clusters Dataproc sont lancés lorsque vous exécutez des pipelines. Rôle d'utilisateur du compte de service pour le compte de service Cloud Data Fusion (roles/iam.serviceAccountUser).

Pour en savoir plus, consultez Accorder une autorisation au compte de service.

Rôle de nœud de calcul Dataproc

Pour exécuter les jobs sur des clusters Dataproc, accordez au nœud de calcul Dataproc (roles/dataproc.worker) au service par défaut ou géré par l'utilisateur utilisés par vos pipelines Cloud Data Fusion.

Rôles pour les utilisateurs

Pour déclencher une opération dans Cloud Data Fusion, vous (le compte principal) devez disposer d'autorisations suffisantes. Les autorisations individuelles sont regroupées par rôles, pour attribuer des rôles à ce compte principal.

Si RBAC n'est pas activé ou si vous utilisez une édition Cloud Data Fusion qui n'est pas compatible avec RBAC, les utilisateurs disposant d'un accès disposant d'un accès complet à l'API de commande. Le rôle Administrateur permet uniquement aux utilisateurs de gérer l'instance, Opérations Create, Update, Upgrade et Delete.

Attribuez les rôles suivants aux comptes principaux, en fonction des autorisations qu'ils besoin dans Cloud Data Fusion.

Rôle Description Autorisations
Administrateur Cloud Data Fusion (roles/datafusion.admin) Toutes les autorisations accordées au lecteur, ainsi que les autorisations de création, de mise à jour et de suppression Instances Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.instances.create
  • datafusion.instances.delete
  • datafusion.instances.update
  • datafusion.operations.get
  • datafusion.operations.list
  • datafusion.operations.cancel
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Lecteur Cloud Data Fusion (roles/datafusion.viewer)
  • Peut afficher les instances Cloud Data Fusion du projet dans le console Google Cloud.
  • Impossible de créer, mettre à jour ou supprimer Cloud Data Fusion Compute Engine.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Accéder aux ressources d’un autre projet au moment de la conception

Cette section décrit le contrôle des accès aux ressources situées dans un un projet Google Cloud différent de celui de votre instance Cloud Data Fusion en temps réel.

Lorsque vous concevez des pipelines dans Cloud Data Fusion Web , vous pouvez utiliser des fonctions, telles que Wrangler ou Preview, qui accéder aux ressources d'autres projets.

Les sections suivantes décrivent comment déterminer le compte de service dans votre puis accorder les autorisations appropriées.

Déterminer le compte de service de votre environnement

Le nom du compte de service est le compte de service Cloud Data Fusion et le compte principal pour cet agent de service est service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com

Autoriser l'accès aux ressources d'un autre projet

Pour attribuer des rôles autorisant l'accès à diverses ressources, procédez comme suit : procédez comme suit:

  1. Dans le projet contenant la ressource cible, ajoutez le Compte de service Cloud Data Fusion (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) en tant que compte principal.
  2. Attribuer des rôles au compte de service Cloud Data Fusion sur la cible dans le projet où se trouve la ressource cible.

Une fois les rôles attribués, vous pouvez accéder aux ressources d'un autre projet à l'adresse de la même manière que vous accédez aux ressources du projet Compute Engine.

Accéder aux ressources d'un autre projet au moment de l'exécution

Cette section décrit le contrôle des accès aux ressources situées dans un un projet Google Cloud différent de celui de votre instance Cloud Data Fusion le temps d'exécution.

Au moment de l'exécution, vous exécutez le pipeline sur Dataproc qui peut accéder aux ressources d'autres projets. Par défaut, Le cluster Dataproc lui-même est lancé dans le même projet que l'instance Cloud Data Fusion, mais vous pouvez utiliser des clusters dans une autre projet.

Pour accéder aux ressources d'autres projets Google Cloud, procédez comme suit : étapes:

  1. Déterminez le compte de service pour votre projet.
  2. Dans le projet contenant la ressource, attribuez des rôles IAM au compte de service Compute Engine par défaut pour lui donner accès les ressources d'un autre projet.

Déterminer le compte de service Compute Engine

Pour en savoir plus sur le compte de service Compute Engine, consultez À propos d'IAM dans Cloud Data Fusion

Accorder l'accès IAM aux ressources d'un autre projet

Le compte de service Compute Engine par défaut nécessite des autorisations accéder aux ressources d'un autre projet. Ces rôles et autorisations peuvent être différentes selon la ressource à laquelle vous souhaitez accéder.

Pour accéder aux ressources, procédez comme suit:

  1. Accordez des rôles et des autorisations en spécifiant votre service Compute Engine en tant que compte principal dans le projet où se trouve la ressource cible.
  2. Ajoutez les rôles appropriés pour accéder à la ressource.

Autorisations de l'API Cloud Data Fusion

Les autorisations suivantes sont requises pour exécuter API Cloud Data Fusion :

Appel d'API Autorisation
instances.create datafusion.instances.create
instances.delete datafusion.instances.delete
instances.list datafusion.instances.list
instances.get datafusion.instances.get
instances.update datafusion.instances.update
operations.cancel datafusion.operations.cancel
operations.list datafusion.operations.list
operations.get datafusion.operations.get

Autorisations pour les tâches courantes

Les tâches courantes dans Cloud Data Fusion nécessitent les autorisations suivantes:

Tâche Autorisations
Accéder à l'interface Web de Cloud Data Fusion datafusion.instances.get
Vous pouvez accéder à la page Instances de Cloud Data Fusion dans la console Google Cloud datafusion.instances.list
Accéder à la page Détails d'une instance datafusion.instances.get
Créer une instance datafusion.instances.create
Mettre à jour les étiquettes et les options avancées pour personnaliser une instance datafusion.instances.update
Supprimer une instance datafusion.instances.delete

Étape suivante