Nutzerverwaltete Dienstkonten verwenden

App Engine-Anwendungen benötigen ein Dienstkonto, um auf andere Google Cloud-Dienste zugreifen und Aufgaben ausführen zu können. Standardmäßig wird das App Engine-Standarddienstkonto als Identität Ihrer App Engine-Anwendung verwendet. Sie können auch ein anderes nutzerverwaltetes Dienstkonto als Identität für eine bestimmte Version Ihrer App Engine-Anwendung angeben. So können Sie jeder Version je nach den ausgeführten Aufgaben unterschiedliche Berechtigungen gewähren und vermeiden, dass mehr Berechtigungen als erforderlich gewährt werden.

In dieser Anleitung wird beschrieben, wie Sie ein anderes nutzerverwaltetes Dienstkonto angeben, wenn Sie eine neue Version bereitstellen. Wenn Sie beim Bereitstellen einer bestimmten Version Ihrer Anwendung kein eigenes Dienstkonto erstellen möchten, können Sie das Standarddienstkonto ohne Angabe eines Dienstkontos verwenden.

Nutzerverwaltetes Dienstkonto erstellen

Informationen zum Erstellen eines nutzerverwalteten Dienstkontos finden Sie in dieser Anleitung. Wenn Sie IAM-Rollen (Identity and Access Management) definieren, die Ihrem Dienstkonto zugewiesen werden sollen, finden Sie weitere Informationen unter Rollen mit Zugriffsberechtigung für App Engine.

Wenn Sie IAM-Konzepte prüfen möchten, bevor Sie Ihr Dienstkonto erstellen, lesen Sie die Übersicht über IAM-Konzepte und Dienstkonten.

Nachdem Sie das nutzerverwaltete Dienstkonto erstellt haben, können Sie das Standarddienstkonto auf App-Ebene für Ihre Anwendung mit einer der folgenden Methoden aktualisieren:

gcloud

Führen Sie den Befehl gcloud app update aus:

    gcloud app update --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Ersetzen Sie:

  • SERVICE_ACCOUNT_NAME durch den Namen des Dienstes, den Sie erstellt haben.
  • PROJECT_ID durch die ID des Google Cloud Projekts, in dem Sie das Dienstkonto zuweisen möchten.

Jede neue Version, die Sie nach diesem Update bereitstellen, verwendet das neue Standarddienstkonto auf Anwendungsebene, es sei denn, Sie weisen explizit ein versionsspezifisches Dienstkonto zu.

Console

  1. Wechseln Sie in der Console zum App Engine-Tab Anwendungseinstellungen und klicken Sie auf Anwendungseinstellungen bearbeiten.

    Zu den Anwendungseinstellungen

  2. Wählen Sie unter Dienstkonto auswählen ein Standarddienstkonto für App-Ebene aus und klicken Sie auf Speichern.

    Sie werden zum Tab Anwendungseinstellungen weitergeleitet, auf dem Sie die E-Mail-Adresse des aktualisierten Standarddienstkontos auf Anwendungsebene anzeigen können. Beispiel: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.

    Jede neue Version, die Sie nach diesem Update bereitstellen, verwendet das neue Standarddienstkonto auf Anwendungsebene, es sei denn, Sie weisen explizit ein versionsspezifisches Dienstkonto zu.

Dienstkonto beim Bereitstellen der Anwendung angeben

gcloud

Führen Sie den Befehl gcloud app deploy aus und geben Sie Ihr Dienstkonto an:

gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

app.yaml

Geben Sie in der Datei app.yaml das Dienstkonto an, indem Sie das Element service_account hinzufügen:

service_account: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Nächste Schritte

Folgen Sie den Best Practices für die Arbeit mit Dienstkonten.