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