Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Dataproc-Dienstkonto: Sichere Mehrinstanzenfähigkeit

Über das Dataproc-Dienstkonto auf der Basis von sicherer Mehrmandantenfähigkeit (auch als "sicherer Mehrmandantenfähigkeit" bezeichnet) können Sie einen Cluster für mehrere Nutzer freigeben. Dabei werden sie einem Dienstkonto zugeordnet, wenn der Cluster erstellt wird. Mit sicherer Mandantenfähigkeit können Nutzer interaktive Arbeitslasten an isolierte Nutzeridentitäten an den Cluster senden.

Wenn ein Nutzer einen Job an den Cluster sendet, geschieht Folgendes:

  • wird als ein bestimmter Betriebssystemnutzer mit einem bestimmten Kerberos-Hauptkonto ausgeführt

  • Zugriff auf Google Cloud-Ressourcen anhand der zugeordneten Dienstkonto-Anmeldedaten

Überlegungen und Einschränkungen

Wenn Sie einen Cluster mit aktiviertem sicheren Mehrmandantenfähigkeit erstellen:

  • Der Cluster ist nur für Nutzer mit zugeordneten Dienstkonten verfügbar. Beispielsweise können nicht zugeordnete Nutzer keine Jobs auf dem Cluster ausführen.

  • Das Component Gateway von Dataproc ist nicht aktiviert.

  • Direkter SSH-Zugriff auf den Cluster und die Compute Engine-Features, wie die Möglichkeit, Startskripts auf Cluster-VMs auszuführen, werden blockiert. Außerdem können Jobs nicht mit Berechtigungen des Typs sudo ausgeführt werden.

  • Kerberos ist auf dem Cluster aktiviert und für eine sichere Kommunikation innerhalb des Clusters konfiguriert.

  • Dataproc-Workflows werden nicht unterstützt.

Sicheren Cluster für mehrere Mandanten erstellen

Wenn Sie einen sicheren Cluster mit mehreren Mandanten erstellen möchten, verwenden Sie das Clusterattribut dataproc:dataproc.beta.secure.multi-tenancy.user.mapping, um eine Liste der Zuordnungen von Nutzer zu Dienst anzugeben.

Beispiel:

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 dem Nutzer alice@my-company.com zugeordnet ist, der dem Dienstkonto service-account-for-alice@iam.gserviceaccount.com zugeordnet ist.

gcloud dataproc clusters create my-cluster \
    --properties="^#^dataproc:dataproc.beta.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" \
    --scopes=cloud-platform \
    --service-account=cluster-service-account@iam.gserviceaccount.com \
    --region=region \
    other args ...

Hinweise:

  • Wie im obigen Befehl dargestellt, muss der Cluster --scopes auf cloud-platform gesetzt sein (erforderlich, damit das Clusterdienstkonto eine Identitätsdiebstahl ausführen kann).

  • Das Cluster-Dienstkonto muss die Berechtigung haben, die Identität der Dienstkonten zu übernehmen, die den Nutzern zugeordnet sind (siehe Identität des Dienstkontos verwalten).

  • Empfehlung:Verwenden Sie verschiedene Clusterdienstkonten für unterschiedliche Cluster, damit jeder Cluster-Dienstkonto nur eine begrenzte, beabsichtigte Gruppe von zugeordneten Nutzerdienstkonten imitieren kann.