Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Das auf einem Dataproc-Dienstkonto basierende sichere Mehrmandantenfähigkeit (im Folgenden als „sichere Mehrmandantenfähigkeit“ bezeichnet) ermöglicht Ihnen die Freigabe eines Clusters für mehrere Nutzer, wobei eine Reihe von Nutzern den Dienstkonten bei der Erstellung des Clusters zugeordnet wird. Mit der sicheren Mehrmandantenfähigkeit können Nutzer interaktive Arbeitslasten mit isolierten Nutzeridentitäten an den Cluster senden.
Wenn ein Nutzer einen Job an den Cluster sendet, geschieht Folgendes:
Wird als bestimmter Betriebssystemnutzer mit einem bestimmten Kerberos-Principal ausgeführt
Zugriff auf Google Cloud Ressourcen mithilfe der zugeordneten Dienstkonto-Anmeldedaten
Überlegungen und Einschränkungen
Wenn Sie einen Cluster mit aktivierter sicherer Mehrmandantenfähigkeit erstellen, gilt Folgendes:
Sie können Jobs nur über die Dataproc Jobs API senden.
Der Cluster ist nur für Nutzer mit zugeordneten Dienstkonten verfügbar. Beispielsweise können nicht zugewiesene Nutzer keine Jobs auf dem Cluster ausführen.
Dienstkonten können nur Google-Nutzern, nicht Google-Gruppen zugeordnet werden.
Der direkte SSH-Zugriff auf den Cluster und Compute Engine-Features wie die Möglichkeit, Startskripts auf Cluster-VMs auszuführen, wird blockiert. Außerdem können Jobs nicht mit sudo-Berechtigungen ausgeführt werden.
Kerberos ist auf dem Cluster für eine sichere Intra-Cluster-Kommunikation aktiviert und konfiguriert.
Die Endnutzerauthentifizierung über Kerberos wird nicht unterstützt.
Sicheren Cluster für Mehrmandantenfähigkeit erstellen
Verwenden Sie zum Erstellen eines sicheren Dataproc-Clusters für Mandanten das Flag --secure-multi-tenancy-user-mapping, um eine Liste der Nutzer-zu-Dienstkonto-Zuordnungen anzugeben.
Example:
Mit dem folgenden Befehl wird ein Cluster erstellt, wobei der Nutzer bob@my-company.com dem Dienstkonto service-account-for-bob@iam.gserviceaccount.com und der Nutzer alice@my-company.com dem Dienstkonto service-account-for-alice@iam.gserviceaccount.com zugeordnet ist.
Alternativ können Sie die Liste der Nutzer-zu-Dienstkonto-Zuordnungen in einer lokalen oder Cloud Storage-YAML- oder JSON-Datei speichern. Verwenden Sie das Flag --identity-config-file, um den Dateispeicherort anzugeben.
Beispiel für die Konfigurationsdatei der Identität:
Beispielbefehl zum Erstellen des Clusters mit dem Flag --identity-config-file:
gcloud dataproc clusters create my-cluster \
--identity-config-file=local or "gs://bucket" /path/to/identity-config-file \
--scopes=https://www.googleapis.com/auth/iam \
--service-account=cluster-service-account@iam.gserviceaccount.com \
--region=region \
other args ...
Hinweise:
Wie in den vorherigen Befehlen gezeigt, muss der Cluster --scopes mindestens https://www.googleapis.com/auth/iam enthalten. Dies ist für das Clusterdienstkonto erforderlich, um eine Identitätsübertragung durchzuführen.
Das Cluster-Dienstkonto muss die Berechtigung haben, die Identität der Dienstkonten zu übernehmen, die den Nutzern zugeordnet sind. Weitere Informationen finden Sie unter Berechtigungen für Dienstkonten.
Empfehlung: Verwenden Sie unterschiedliche Cluster-Dienstkonten für verschiedene Cluster, damit jedes Cluster-Dienstkonto nur die Identität einer begrenzten, beabsichtigten Gruppe zugeordneter Nutzer-Dienstkonten übernehmen kann.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-22 (UTC)."],[[["\u003cp\u003eSecure multi-tenancy in Dataproc allows multiple users to share a cluster with isolated identities, each user mapped to a specific service account.\u003c/p\u003e\n"],["\u003cp\u003eJobs submitted to a secure multi-tenancy cluster run with a unique OS user and Kerberos principal, accessing Google Cloud resources through their mapped service account credentials.\u003c/p\u003e\n"],["\u003cp\u003eCreating a secure multi-tenancy cluster requires specifying user-to-service-account mappings using the \u003ccode\u003e--secure-multi-tenancy-user-mapping\u003c/code\u003e flag or an \u003ccode\u003e--identity-config-file\u003c/code\u003e with a YAML or JSON configuration.\u003c/p\u003e\n"],["\u003cp\u003eSecure multi-tenancy clusters have limitations, such as jobs being submitted only through the Dataproc Jobs API, the inability to use Dataproc Component Gateway, and the blocking of direct SSH access.\u003c/p\u003e\n"],["\u003cp\u003eWhen creating a cluster, the cluster service account must have the necessary permissions to impersonate the service accounts mapped to the users and it is recommended to use different service accounts for different clusters.\u003c/p\u003e\n"]]],[],null,["# Dataproc service account based Secure Multi-tenancy\n(called \"secure multi-tenancy\", below) lets you share a cluster with multiple\nusers, with a set of users mapped to\nservice accounts when the cluster is created. With secure multi-tenancy, users\ncan submit interactive workloads to the cluster with isolated user identities.\n\nWhen a user submits a job to the cluster, the job:\n\n- runs as a specific OS user with a specific Kerberos principal\n\n- accesses Google Cloud resources using the mapped service account credentials\n\nConsiderations and limitations\n------------------------------\n\nWhen you create a cluster with secure multi-tenancy enabled:\n\n- You can submit jobs only through the Dataproc [Jobs API](/dataproc/docs/guides/submit-job).\n\n- The cluster is available only to users with mapped service accounts. For\n example, unmapped users cannot run jobs on the cluster.\n\n- Service accounts can be mapped only to Google users, not Google groups.\n\n- The Dataproc\n [Component Gateway](/dataproc/docs/concepts/accessing/dataproc-gateways)\n is not enabled.\n\n- Direct SSH access to the cluster and Compute Engine features, such\n as the ability to run startup scripts on cluster VMs, are blocked. Also,\n jobs cannot run with `sudo` privileges.\n\n- [Kerberos](/dataproc/docs/concepts/configuring-clusters/security) is\n enabled and configured on the cluster for secure intra-cluster communication.\n End user authentication through Kerberos is not supported.\n\n- Dataproc [Workflows](/dataproc/docs/concepts/workflows/overview)\n are not supported.\n\nCreate a secure multi-tenancy cluster\n-------------------------------------\n\nTo create a Dataproc secure multi-tenancy cluster, use\nthe `--secure-multi-tenancy-user-mapping`\nflag to specify a list of user-to-service-account mappings.\n\n**Example:**\n\nThe following command creates a cluster, with user `bob@my-company.com`\nmapped to service account `service-account-for-bob@iam.gserviceaccount.com`\nand user `alice@my-company.com` mapped to service account `service-account-for-alice@iam.gserviceaccount.com`. \n\n```\ngcloud dataproc clusters create my-cluster \\\n --secure-multi-tenancy-user-mapping=\"bob@my-company.com:service-account-for-bob@iam.gserviceaccount.com,alice@my-company.com:service-account-for-alice@iam.gserviceaccount.com\" \\\n --scopes=https://www.googleapis.com/auth/iam \\\n --service-account=cluster-service-account@iam.gserviceaccount.com \\\n --region=region \\\n other args ...\n```\n\nAlternatively, you can store the list of user-to-service-account mappings in\na local or Cloud Storage YAML or JSON file. Use the\n`--identity-config-file` flag to specify the file location.\n\nSample identity config file: \n\n```\nuser_service_account_mapping:\n bob@my-company.com: service-account-for-bob@iam.gserviceaccount.com\n alice@my-company.com: service-account-for-alice@iam.gserviceaccount.com\n```\n\nSample command to create the cluster using the `--identity-config-file` flag: \n\n```\ngcloud dataproc clusters create my-cluster \\\n --identity-config-file=local or \"gs://\u003cvar translate=\"no\"\u003ebucket\u003c/var\u003e\" /path/to/identity-config-file \\\n --scopes=https://www.googleapis.com/auth/iam \\\n --service-account=cluster-service-account@iam.gserviceaccount.com \\\n --region=region \\\n other args ...\n```\n\n**Notes:**\n\n- As shown in the preceding commands, cluster `--scopes` must include at least\n `https://www.googleapis.com/auth/iam`, which is necessary for the cluster\n service account to perform impersonation.\n\n- The cluster service account must have permissions to impersonate the\n service accounts mapped to the users (see\n [Service account permissions](/iam/docs/service-account-permissions)).\n\n- **Recommendation:** Use different cluster service accounts for\n different clusters to allow each cluster service account to impersonate\n only a limited, intended group of mapped user service accounts."]]