Identitäten für Managed Service for Apache Spark

Wenn Sie Managed Service for Apache Spark zum Erstellen von Clustern und Ausführen von Jobs in diesen Clustern verwenden, richtet der Dienst die erforderlichen Managed Service for Apache Spark-Rollen und -Berechtigungen in Ihrem Projekt ein, um auf die Google Cloud -Ressourcen zuzugreifen und diese zu verwenden, die für die Erledigung dieser Aufgaben erforderlich sind. Wenn Sie jedoch projektübergreifend arbeiten, um beispielsweise auf Daten in einem anderen Projekt zuzugreifen, müssen Sie die erforderlichen Rollen und Berechtigungen für den Zugriff auf projektübergreifende Ressourcen einrichten.

Für eine erfolgreiche projektübergreifende Arbeit werden in diesem Dokument die verschiedenen Hauptkonten aufgeführt, die Managed Service for Apache Spark verwenden. Es werden auch die Rollen aufgeführt, die die erforderlichen Berechtigungen enthalten, die Hauptkonten benötigen, um auf Google Cloud -Ressourcen zuzugreifen und diese zu nutzen.

Es gibt drei Hauptkonten (Identitäten), die auf Managed Service for Apache Spark zugreifen und es verwenden können:

  1. Nutzeridentität
  2. Identität der Steuerungsebene
  3. Identität der Datenebene

    dataproc-service-accounts1

Dataproc API-Nutzer (Nutzeridentität)

Beispiel: username@example.com

Dies ist der Nutzer, der Managed Service for Apache Spark aufruft, um Cluster zu erstellen, Jobs zu senden und andere Anfragen an den Dienst zu stellen. Der Nutzer ist in der Regel eine Person. Wenn Managed Service for Apache Spark über einen API-Client oder einen anderenGoogle Cloud -Dienst wie Compute Engine, Cloud Run Functions oder Managed Service for Apache Airflow aufgerufen wird, kann es sich jedoch auch um ein Dienstkonto handeln.

Zugehörige Rollen

Hinweise

  • Von Dataproc API gesendete Jobs werden unter Linux als root ausgeführt.
  • Managed Service for Apache Spark-Cluster übernehmen projektweite Compute Engine-SSH-Metadaten, es sei denn, sie werden beim Erstellen Ihres Clusters explizit durch das Festlegen von --metadata=block-project-ssh-keys=true blockiert (siehe Cluster-Metadaten).

  • HDFS-Nutzerverzeichnisse werden für jeden SSH-Nutzer auf Projektebene erstellt. Diese HDFS-Verzeichnisse werden bei der Clusterbereitstellung erstellt und ein neuer SSH-Nutzer (nach der Bereitstellung) erhält kein HDFS-Verzeichnis in vorhandenen Clustern.

Managed Service for Apache Spark-Dienst-Agent (Identität der Steuerungsebene)

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

Das Managed Service for Apache Spark-Dienst-Agent-Dienstkonto wird verwendet, um verschiedenste Systemvorgänge für Ressourcen auszuführen, die sich in dem Projekt befinden, in dem ein Managed Service for Apache Spark-Cluster erstellt wird, darunter:

  • Erstellen von Compute Engine-Ressourcen, einschließlich VM-Instanzen, Instanzgruppen und Instanzvorlagen
  • get- und list-Vorgänge, um die Konfiguration von Ressourcen wie Images, Firewalls, Managed Service for Apache Spark-Initialisierungsaktionen und Cloud Storage-Buckets zu bestätigen
  • Automatische Erstellung der Managed Service for Apache Spark-Staging- und temporären Buckets, wenn vom Nutzer kein Staging- oder temporärer Bucket angegeben wurde
  • Schreiben von Metadaten der Clusterkonfiguration in den Staging-Bucket
  • Zugriff auf VPC-Netzwerke in einem Hostprojekt

Zugehörige Rollen

Managed Service for Apache Spark-VM-Dienstkonto (Identität der Datenebene)

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

Ihr Anwendungscode wird auf Managed Service for Apache Spark-VMs als VM-Dienstkonto ausgeführt. Nutzerjobs erhalten die Rollen (mit den zugehörigen Berechtigungen) dieses Dienstkontos.

Das VM-Dienstkonto hat folgende Funktionen:

Zugehörige Rollen

Nächste Schritte