Principaux de Managed Service pour Apache Spark

Lorsque vous créez des clusters et y exécutez des tâches à l'aide de Managed Service pour Apache Spark, le service configure les rôles et autorisations Managed Service pour Apache Spark requis dans votre projet pour accéder aux Google Cloud ressources nécessaires à la réalisation de ces tâches et les utiliser. Notez toutefois que si vous travaillez avec plusieurs projets (afin d'accéder aux données d'un autre projet, par exemple), vous devez configurer les rôles et autorisations nécessaires pour accéder aux ressources des différents projets.

Pour vous aider à travailler efficacement sur plusieurs projets, ce document répertorie les diverses entités principales qui utilisent Managed Service pour Apache Spark ainsi que les rôles contenant les autorisations nécessaires pour que ces entités puissent accéder aux ressources et les utiliser Google Cloud .

Trois entités principales (identités) peuvent accéder à Managed Service pour Apache Spark et l'utiliser :

  1. Identité des utilisateurs
  2. Identité du plan de contrôle
  3. Identité du plan de données

    dataproc-service-accounts1

Utilisateur de l'API Dataproc (identité d'utilisateur)

Exemple : username@example.com

Il s'agit de l'utilisateur qui appelle Managed Service pour Apache Spark afin de créer des clusters, d'envoyer des tâches et d'adresser d'autres requêtes au service. L'utilisateur est généralement un individu, mais il peut également s'agir d'un compte de service si Managed Service pour Apache Spark est appelé via un client API ou un autre Google Cloud service tel que Compute Engine, des fonctions Cloud Run ou Managed Service pour Apache Airflow.

Rôles associés

Remarques

  • Les tâches Dataproc envoyées par l'API s'exécutent sous le compte root sous Linux.
  • Les clusters Managed Service pour Apache Spark héritent des métadonnées SSH Compute Engine à l'échelle du projet, sauf s'ils sont explicitement bloqués en définissant --metadata=block-project-ssh-keys=true lorsque vous créez votre cluster (consultez la section Métadonnées du cluster).

  • Les répertoires d'utilisateurs HDFS sont créés pour chaque utilisateur SSH au niveau du projet. Ces répertoires HDFS sont créés au moment du déploiement du cluster, et un nouvel utilisateur SSH (après le déploiement) ne se verra pas attribuer un répertoire HDFS sur les clusters existants.

Agent de service Managed Service pour Apache Spark (identité du plan de contrôle)

Exemple : service-project-number@dataproc-accounts.iam.gserviceaccount.com

Le compte de service de l'agent de service Managed Service pour Apache Spark permet d'effectuer un grand nombre d'opérations système sur les ressources situées dans le projet où un cluster Managed Service pour Apache Spark est créé, y compris les suivantes :

  • Créer des ressources Compute Engine, telles que des instances de VM, des groupes d'instances et des modèles d'instances
  • Les opérations get et list pour confirmer la configuration des ressources telles que les images, les pare-feu, les actions d'initialisation Managed Service pour Apache Spark et les buckets Cloud Storage
  • Créer automatiquement les buckets de préproduction et temporaire Managed Service pour Apache Spark s'ils ne sont pas spécifiés par l'utilisateur
  • Écrire des métadonnées de configuration de cluster dans le bucket de préproduction
  • Accéder aux réseaux VPC dans un projet hôte

Rôles associés

Compte de service de VM Managed Service pour Apache Spark (identité du plan de données)

Exemple : project-number-compute@developer.gserviceaccount.com

Votre code d'application s'exécute en tant que le compte de service de VM sur les VM Managed Service pour Apache Spark. Les tâches utilisateur bénéficient des rôles (avec leurs autorisations associées) de ce compte de service.

Le compte de service de VM effectue les opérations suivantes :

Rôles associés

Étape suivante