Zugriff in der Admin API steuern

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

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

  • Gewähren Sie einem einzelnen Nutzer oder Dienstkonto Zugriff auf alle Ressourcen in einem Projekt.
  • Gewähren Sie teilweisen Zugriff auf Ressourcen innerhalb des Projekts. 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.

Eine ausführliche Beschreibung von IAM und den entsprechenden Funktionen finden Sie in der IAM-Dokumentation.

Der Aufrufer muss für jede Admin API-Methode die erforderlichen Berechtigungen haben. Im folgenden Abschnitt finden Sie eine Liste aller Berechtigungen und Rollen, die von der Admin API unterstützt werden.

Berechtigungen und Rollen

In diesem Abschnitt werden die Berechtigungen und Rollen zusammengefasst, die die Admin API unterstützt.

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.
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 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

Die Rollen roles/owner, roles/editor und roles/viewer enthalten auch Berechtigungen für andere Google Cloud-Dienste. 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 Google Cloud Console steuern

Mit der Google Cloud Console können Sie die Zugriffssteuerung für Ihre Google Cloud-Projekte verwalten.

Projektweite Zugriffskontrollen einrichten

Informationen zum Gewähren des Zugriffs auf ein Google Cloud-Projekt und dessen Ressourcen für ein Hauptkonto finden Sie unter Zugriff gewähren, ändern und widerrufen.

Zugriffskontrollen für Dienstkonten einrichten

Sie können in einem Google Cloud-Projekt ein Dienstkonto erstellen, um Ihrer Anwendung programmatischen Zugriff auf Google Cloud-Dienste zu gewähren. Verwenden Sie beispielsweise ein Dienstkonto, um zuzulassen, dass ein Google Cloud-Projekt die HTTP-Anfrage mit der App Engine Admin API an ein anderes Google Cloud-Projekt sendet.

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