Hinweis: In den nächsten Monaten wird die App Engine-Dokumentationswebsite neu organisiert, um die Suche nach Inhalten und eine bessere Abstimmung mit den anderen Google Cloud-Produkten zu erleichtern. Es werden dieselben Inhalte bereitgestellt, aber die Navigation entspricht jetzt der bei den restlichen Cloud-Produkten.

PHP 8.1 ist jetzt allgemein verfügbar.

Rollen mit Zugriffsberechtigung für App Engine

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Rollen legen fest, welche Dienste und Aktionen für ein Nutzerkonto oder Dienstkonto verfügbar sind. Die folgenden Rollentypen gewähren Zugriff auf App Engine:

  • Einfache Rollen gewähren Zugriff auf alle Dienste und Ressourcen in einem Projekt, unter anderem auf App Engine. Wenn einem Konto z. B. die Rolle „Bearbeiter“ zugewiesen ist, können mit diesem Konto sowohl die App Engine-Einstellungen als auch die Cloud Storage-Einstellungen geändert werden.

  • Vordefinierte App Engine-Rollen ermöglichen einen genauer definierten Zugriff auf App Engine. Jeder Dienst in Ihrem Cloud-Projekt stellt seine eigenen vordefinierten Rollen bereit. Beispiel: Mit einem Konto, dem nur die Rolle „App Engine-Bereitsteller“ zugewiesen ist, können zwar App Engine-Anwendungen bereitgestellt, aber keine Objekte in Cloud Storage aufgerufen oder erstellt werden. Einem solchen Konto muss deshalb zusätzlich eine bestimmte vordefinierte Cloud Storage-Rolle zugewiesen sein, damit Objekte in Cloud Storage aufgerufen oder erstellt werden können.

  • Benutzerdefinierte Rollen ermöglichen einen genau definierten Zugriff, den der Nutzer in Form einer Liste von festgelegten Berechtigungen erstellt.

Sie können einfache Rollen verwenden, wenn Sie an kleineren Projekten mit weniger komplexen Anforderungen arbeiten. Wenn Sie den Zugriff genauer steuern möchten, verwenden Sie vordefinierte Rollen.

Einfache Rollen

Einfache Rollen gelten für alle Dienste und Ressourcen in einem Projekt. Wenn einem Konto z. B. die Rolle „Bearbeiter“ zugewiesen ist, können mit diesem Konto sowohl die App Engine-Einstellungen als auch die Cloud Storage-Einstellungen geändert werden.

Rolle Google Cloud Console-Berechtigungen Toolberechtigungen
Owner Erforderlich zum Erstellen von App Engine-Anwendungen; alle Betrachter- und Bearbeiterberechtigungen sowie die Möglichkeit, bereitgestellten Quellcode anzusehen, Nutzer einzuladen, Nutzerrollen zu ändern und eine Anwendung zu löschen Erforderlich zum Erstellen von App Engine-Anwendungen; kann auch Anwendungscode bereitstellen und alle Konfigurationen aktualisieren
Editor Anwendungsdaten ansehen und Anwendungseinstellungen bearbeiten Anwendungscode bereitstellen, Indexe/Warteschlangen/Cronjobs aktualisieren
Viewer Anwendungsdaten ansehen Logs anfordern

Vordefinierte App Engine-Rollen

Rolle Berechtigungen

(roles/appengine.appAdmin)

Berechtigung zum Lesen/Schreiben/Ändern für die gesamte Anwendungskonfiguration und die Einstellungen

Um neue Versionen bereitstellen zu können, muss ein Hauptkonto die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) für das Standarddienstkonto von App Engine haben. und die Rollen „Cloud Build-Bearbeiter“ (roles/cloudbuild.builds.editor) und „Cloud Storage-Objekt-Administrator“ (roles/storage.objectAdmin) für das Projekt verwenden.

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

appengine.applications.get

appengine.applications.update

appengine.instances.*

  • appengine.instances.delete
  • appengine.instances.get
  • appengine.instances.list

appengine.memcache.addKey

appengine.memcache.flush

appengine.memcache.get

appengine.memcache.update

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.runtimes.actAsAdmin

appengine.services.*

  • appengine.services.delete
  • appengine.services.get
  • appengine.services.list
  • appengine.services.update

appengine.versions.create

appengine.versions.delete

appengine.versions.get

appengine.versions.list

appengine.versions.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.appCreator)

Fähigkeit zur Erstellung der App Engine-Ressource für das Projekt.

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

Enthält 1 Inhaberberechtigung

appengine.applications.create

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.appViewer)

Schreibgeschützter Zugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

appengine.applications.get

appengine.instances.get

appengine.instances.list

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.get

appengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.codeViewer)

Lesezugriff auf die gesamte Anwendungskonfiguration, die Einstellungen und den bereitgestellten Quellcode

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

Enthält 1 Inhaberberechtigung

appengine.applications.get

appengine.instances.get

appengine.instances.list

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.get

appengine.versions.getFileContents

appengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.deployer)

Schreibgeschützter Zugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

Zum Bereitstellen neuer Versionen benötigen Sie außerdem die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) für das Standarddienstkonto von App Engine. und die Rollen „Cloud Build-Bearbeiter“ (roles/cloudbuild.builds.editor) und „Cloud Storage-Objekt-Administrator“ (roles/storage.objectAdmin) für das Projekt verwenden.

Sie können vorhandene Versionen nicht bearbeiten, sondern nur Versionen löschen, die keinen Traffic empfangen.

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

appengine.applications.get

appengine.instances.get

appengine.instances.list

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.create

appengine.versions.delete

appengine.versions.get

appengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.memcacheDataAdmin)

Kann App Engine Memcache-Elemente abrufen, festlegen, löschen und leeren.

appengine.applications.get

appengine.memcache.addKey

appengine.memcache.flush

appengine.memcache.get

appengine.memcache.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.serviceAdmin)

Schreibgeschützter Zugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

Schreibberechtigung für Einstellungen auf Modul- und Versionsebene Kann keine neue Version bereitstellen.

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Projekt

appengine.applications.get

appengine.instances.*

  • appengine.instances.delete
  • appengine.instances.get
  • appengine.instances.list

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.*

  • appengine.services.delete
  • appengine.services.get
  • appengine.services.list
  • appengine.services.update

appengine.versions.delete

appengine.versions.get

appengine.versions.list

appengine.versions.update

resourcemanager.projects.get

resourcemanager.projects.list

Die vordefinierten Rollen für App Engine bieten Ihnen detaillierte Optionen für die Zugriffssteuerung.

Diese Rollen ermöglichen nur den Zugriff auf App Engine. Wenn Ihr Projekt andere Dienste wie Cloud Storage oder Cloud SQL einschließt, müssen Sie zusätzliche Rollen zuweisen, um den Zugriff auf die anderen Dienste zu ermöglichen.

Vordefinierte Rollen für App Engine im Vergleich

Die folgende Tabelle enthält einen vollständigen Vergleich der Rechte aller vordefinierten App Engine-Rollen.

Rechte App Engine-Administrator App Engine-Dienstadministrator App Engine-Bereitsteller App Engine-Betrachter App Engine-Codebetrachter
Alle Dienste, Versionen und Instanzen auflisten Ja Ja Ja Ja Ja
Alle Einstellungen für Anwendungen, Dienste, Versionen und Instanzen ansehen Ja Ja Ja Ja Ja
Laufzeitmesswerte wie Ressourcennutzung, Last- und Fehlerdaten ansehen Ja Ja Ja Ja Ja
Anwendungsquellcode ansehen Nein Nein Nein Nein Ja
Neue Anwendungsversion bereitstellen Ja, wenn Sie auch die Rolle „Dienstkontonutzer“ zuweisen Nein Ja, wenn Sie auch die Rolle „Dienstkontonutzer“ zuweisen Nein Nein
Traffic aufteilen oder migrieren Ja Ja Nein*** Nein Nein
Version starten und beenden Ja Ja Nein Nein Nein
Version löschen Ja Ja Ja Nein Nein
Gesamten Dienst löschen Ja Ja Nein Nein Nein
SSH-Verbindung zu VM-Instanz in der flexiblen Umgebung herstellen Ja Nein Nein Nein Nein
Instanz herunterfahren Ja Nein Nein Nein Nein
App Engine-Anwendung deaktivieren und wieder aktivieren Ja Nein Nein Nein Nein
Auf Handler mit der Beschränkung „login:admin“ zugreifen (nur Laufzeiten der ersten Generation) Ja Nein Nein Nein Nein
Weiterleitungsregeln aktualisieren Ja Nein Nein Nein Nein
DoS-Einstellungen aktualisieren Ja Nein Nein Nein Nein
Cronjob-Zeitpläne aktualisieren Nein Nein Nein Nein Nein
Standardablauffrist für Cookies aktualisieren Ja Nein Nein Nein Nein
Verweis-URLs aktualisieren Ja Nein Nein Nein Nein
Autorisierte Sender für Email API aktualisieren Ja Nein Nein Nein Nein

Ausführliche Informationen zu den spezifischen IAM-Berechtigungen, die durch die einzelnen Rollen gewährt werden, finden Sie auf der Seite "Zugriff in der Admin API steuern" im Abschnitt Rollen.

Einem Konto, das nur für die Bereitstellung neuer Versionen einer Anwendung zuständig ist, sollten Sie die folgenden Rollen zuweisen:

  • Rolle „App Engine-Bereitsteller“ (roles/appengine.deployer)
  • Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser)

    Die Nutzerrolle „Dienstkontonutzer“ ermöglicht es dem Konto, die Identität des App Engine-Standarddienstkontos für den Bereitstellungsprozess zu übernehmen.

  • Wenn das Konto gcloud-Befehle für die Bereitstellung nutzt, fügen Sie außerdem diese Rollen hinzu:

    • Storage-Objekt-Administrator (roles/storage.objectAdmin)
    • Cloud-Build-Bearbeiter (roles/cloudbuild.builds.editor)

Weitere Informationen zum Gewähren der erforderlichen Berechtigungen finden Sie unter Erstellen eines Nutzerkontos.

Trennung der Aufgaben von Bereitstellung und Trafficweiterleitung

Viele Organisationen ziehen es vor, die Aufgabe der Bereitstellung einer Anwendungsversion von der Aufgabe zu trennen, die den Traffic auf die neu erstellte Version ausweitet, und diese Aufgaben von verschiedenen Stellen durchführen zu lassen. Die Rollen „App Engine-Bereitsteller“ und „App Engine-Dienstadministrator“ ermöglichen diese Trennung:

  • Mit den Rollen „App Engine-Bereitsteller“ und „Dienstkontonutzer“ haben Konten nur die Möglichkeit, neue Versionen bereitzustellen und alte Versionen zu löschen, die keinen Traffic verarbeiten. Ein Konto mit diesen Rollen kann keinen Traffic für eine Version konfigurieren und keine Einstellungen auf Anwendungsebene ändern, z. B. Weiterleitungsregeln oder Authentifizierungsdomains.
  • Rolle „App Engine-Dienstadministrator“: Konten können weder eine neue Anwendungsversion bereitstellen noch Einstellungen auf Anwendungsebene ändern. Diese Konten haben jedoch Berechtigungen zum Ändern der Attribute vorhandener Dienste und Versionen, einschließlich der Festlegung, welche Versionen Traffic verarbeiten können. Die Rolle „App Engine-Dienstadministrator“ ist ideal für eine Betriebs-/IT-Abteilung, die für die Erhöhung des Traffics zu neu bereitgestellten Versionen zuständig ist.

Einschränkungen der vordefinierten Rollen

Mit vordefinierten App Engine-Rollen ist Folgendes nicht möglich:

  • Anwendungslogs ansehen und herunterladen
  • Monitoring-Diagramme in der Google Cloud Console ansehen
  • Abrechnung aktivieren und deaktivieren
  • Sicherheitsscans in Cloud Security Scanner ausführen
  • Auf Konfigurationen oder Daten zugreifen, die in Datastore, Aufgabenwarteschlangen, Cloud Search oder anderen Cloud Platform-Speicherprodukten gespeichert sind