Zugriff in der Admin API steuern

Die Google App Engine Admin API verwendet für die Zugriffssteuerung Google Cloud Identity & Access Management (IAM).

Die Zugriffssteuerung in der Google App Engine Admin API kann auf Projektebene konfiguriert werden. Der Zugriff auf GCP-Projekte und die darin enthaltenen Ressourcen kann für Nutzerkonten, Domains, Gruppen oder Dienstkonten gewährt werden. Beispiel:

  • Sie können den Zugriff auf alle Ressourcen in einem Projekt einem einzelnen Mitglied oder allen Mitgliedern eines Dienstkontos gewähren.
  • Sie können den Zugriff rollenbasiert anstatt für das gesamte Projekt gewähren, sodass Projektmitgliedern nur bestimmte Funktionen zur Verfügung stehen. Zum Beispiel haben Sie die Möglichkeit, Lesezugriff auf Ressourcen oder die Erlaubnis zum Bereitstellen neuer Versionen, aber nicht zum Konfigurieren des Traffics zu den Versionen, zu gewähren.

In der Dokumentation zu Cloud Identity and Access Management finden Sie eine ausführliche Beschreibung zu IAM und den damit verbundenen Features.

Der Aufrufer muss für jede Admin API-Methode die erforderlichen Berechtigungen haben. Im folgenden Abschnitt finden Sie eine Liste aller durch das Admin API-IAM unterstützten Berechtigungen und Rollen.

Berechtigungen und Rollen

In diesem Abschnitt werden die vom Admin API-IAM unterstützten Berechtigungen und Rollen zusammengefasst.

Weitere Informationen über die App Engine-Rollen finden Sie unter App Engine-Zugriffssteuerung.

Erforderliche Berechtigung

In der folgenden Tabelle sind die Berechtigungen aufgelistet, die der Aufrufer zum Aufrufen der jeweiligen Methode benötigt:

Methode Erforderliche Berechtigungen
apps.create appengine.applications.create für die angeforderte Application-Ressource. Erfordert Berechtigungen der Inhaberrolle für das GCP-Projekt.
apps.get appengine.applications.get für die angeforderte Application-Ressource.
apps.patch appengine.applications.update für die angeforderte Application-Ressource.
apps.repair appengine.applications.update für die angeforderte Application-Ressource.
apps.authorizedCertificates.create appengine.applications.update für die angeforderte Application-Ressource.
apps.authorizedCertificates.delete appengine.applications.update für die angeforderte Application-Ressource.
apps.authorizedCertificates.get appengine.applications.get für die angeforderte Application-Ressource.
apps.authorizedCertificates.list appengine.applications.get für die angeforderte Application-Ressource.
apps.authorizedCertificates.patch appengine.applications.update für die angeforderte Application-Ressource.
apps.authorizedDomains.list appengine.applications.get für die angeforderte Application-Ressource.
apps.domainMappings.create appengine.applications.update für die angeforderte Application-Ressource.
apps.domainMappings.delete appengine.applications.update für die angeforderte Application-Ressource.
apps.domainMappings.get appengine.applications.get für die angeforderte Application-Ressource.
apps.domainMappings.list appengine.applications.get für die angeforderte Application-Ressource.
apps.domainMappings.patch appengine.applications.update für die angeforderte Application-Ressource.
apps.locations.get appengine.applications.get für die angeforderte Application-Ressource.
apps.locations.list appengine.applications.get für die angeforderte Application-Ressource.
apps.operations.get appengine.applications.get für die angeforderte Application-Ressource.
apps.operations.list appengine.applications.get für die angeforderte Application-Ressource.
apps.services.delete appengine.services.delete für die angeforderte Service-Ressource.
apps.services.get appengine.services.get für die angeforderte Service-Ressource.
apps.services.list appengine.services.list für die angeforderte Application-Ressource.
apps.services.patch appengine.services.update für die angeforderte Service-Ressource.
apps.services.versions.create appengine.versions.create für die angeforderte Service-Ressource.
apps.services.versions.delete appengine.versions.delete für die angeforderte Version-Ressource.
apps.services.versions.get appengine.versions.get für die angeforderte Version-Ressource.
apps.services.versions.list appengine.versions.list für die angeforderte Service-Ressource.
apps.services.versions.patch appengine.versions.update für die angeforderte Version-Ressource.
apps.services.versions.instances.debug appengine.instances.enableDebug für die angeforderte Instance-Ressource.
apps.services.versions.instances.delete appengine.instances.delete für die angeforderte Instance-Ressource.
apps.services.versions.instances.get appengine.instances.get für die angeforderte Instance-Ressource.
apps.services.versions.instances.list appengine.instances.list für die angeforderte Version-Ressource.

Rollen

In der folgenden Tabelle sind die IAM-Rollen der Google App Engine Admin API mit der entsprechenden Liste aller Berechtigungen der einzelnen Rollen aufgeführt. Beachten Sie, dass jede Berechtigung für einen bestimmten Ressourcentyp gilt.

Rolle Berechtigungen

App Engine-Administrator

/roles/appengine.appAdmin

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

appengine.applications.disable

appengine.applications.get
appengine.applications.update
appengine.instances.delete
appengine.instances.enableDebug
appengine.instances.get
appengine.instances.list
appengine.instances.update

appengine.operations.cancel

appengine.operations.delete

appengine.operations.get
appengine.operations.list
appengine.runtimes.actAsAdmin
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

App Engine-Bereitsteller

/roles/appengine.deployer

Lesezugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

Schreibzugriff ausschließlich zum Erstellen einer neuen Version, Die Bearbeitung vorhandener Versionen beschränkt sich auf das Löschen von Versionen, die keinen Traffic erhalten. Der Traffic zu einer Version kann nicht konfiguriert werden.

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.create

appengine.services.get
appengine.services.list
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

App Engine-Dienstadministrator

/roles/appengine.serviceAdmin

Lesezugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

Schreibzugriff für Einstellungen auf Dienst- und Versionsebene, einschließlich Traffic-Konfiguration. Es können keine Versionen von Anwendungen bereitgestellt werden.

appengine.applications.get
appengine.instances.delete
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
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

App Engine-Betrachter

/roles/appengine.appViewer

Lesezugriff auf die gesamte Anwendungskonfiguration und die Einstellungen

appengine.applications.get
appengine.instances.get
appengine.instances.list
appengine.operations.get
appengine.operations.list
appengine.services.get
appengine.services.list
appengine.versions.get
appengine.versions.list
resourcemanager.projects.get
resourcemanager.projects.list

App Engine-Codebetrachter

/roles/appengine.codeViewer

Lesezugriff auf alle Anwendungskonfigurationen und -einstellungen sowie auf den bereitgestellten Quellcode

appengine.applications.get
appengine.instances.get
appengine.instances.list
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

Beachten Sie, dass die Rollen roles/owner, roles/editor und roles/viewer Berechtigungen auch für andere Google Cloud Platform-Dienste enthalten. Weitere Informationen zu diesen einfachen Rollen finden Sie unter Zugriffssteuerung.

Für benutzerdefinierte Rollen nicht verfügbare Berechtigungen

Wenn Sie den Zugriff über die vordefinierten IAM-Rollen hinaus konfigurieren möchten, können Sie eine benutzerdefinierte Rolle erstellen. Die folgenden Berechtigungen sind jedoch für benutzerdefinierte Rollen nicht verfügbar:

  • appengine.applications.disable
  • appengine.applications.list
  • appengine.instances.update
  • appengine.operations.cancel
  • appengine.operations.delete
  • appengine.services.create

Diese Berechtigungen werden für keine Vorgänge benötigt.

Zugriff über die GCP Console steuern

In der GCP Console können Sie die Zugriffssteuerung für Ihre GCP-Projekte bestimmen.

Projektweite Zugriffskontrollen einrichten

Informationen zum Gewähren des Zugriffs auf ein GCP-Projekt und dessen Ressourcen für Mitglieder finden Sie in diesem Artikel.

Zugriffskontrollen für Dienstkonten einrichten

Sie können in einem GCP-Projekt ein Dienstkonto erstellen, um Ihrer Anwendung programmatischen Zugriff auf GCP-Dienste zu gewähren. Verwenden Sie beispielsweise ein Dienstkonto, damit ein GCP-Projekt HTTP-Anfragen über die Google App Engine Admin API an ein anderes GCP-Projekt senden kann.

Informationen zum Erstellen von Dienstkonten und zum Gewähren des Zugriffs finden Sie in folgenden IAM-Themen:

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

App Engine Admin API