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
Wechseln Sie in der Console zum App Engine-Tab Anwendungseinstellungen und klicken Sie auf Anwendungseinstellungen bearbeiten.
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
appengine-web.xml
Geben Sie in der Datei appengine-web.xml
das Dienstkonto an, indem Sie das Element <service-account>
hinzufügen:
<service-account>SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com</service-account>
Nächste Schritte
Folgen Sie den Best Practices für die Arbeit mit Dienstkonten.