Informationen zu Dienstkonten

Ein Dienstkonto ist eine spezielle Art von Konto in Google Cloud, mit dem Komponenten und Anwendungen eines Systems miteinander und mit anderen APIs interagieren können. Weitere Informationen zu Google Cloud finden Sie unter Informationen zu Google Cloud-Diensten.

Apigee Hybrid verwendet Google Cloud-Dienstkonten, um eine Vielzahl von Aufgaben auszuführen, darunter:

  • Log- und Messwertdaten senden
  • Trace-Anfragen abrufen
  • Verbindung zum API-Gateway für administrative API-Anfragen herstellen
  • Sicherungen ausführen
  • Proxy-Bundles herunterladen

Während ein Dienstkonto alle diese Vorgänge ausführen könnte, wird empfohlen, dass Sie mehrere Dienstkonten erstellen, die jeweils einer bestimmten Aufgabe zugewiesen sind und jedes Dienstkonto über eigene Berechtigungen verfügt. Dies verbessert die Sicherheit, da der Zugriff und die Berechtigungen für einzelne Dienstkonten entsprechend eingeschränkt werden. Wie bei Nutzerkonten werden diese Berechtigungen angewendet, indem dem Dienstkonto eine oder mehrere Rollen zugewiesen werden.

Für einen ordnungsgemäßen Betrieb von Apigee müssen Sie mehrere Dienstkonten erstellen. Jedes Dienstkonto erfordert eine bestimmte Rolle oder Rollen, die es ihm ermöglichen, seine Funktion auszuführen.

In der folgenden Tabelle werden die Dienstkonten für die Hybridkomponenten beschrieben: Die Namen für jedes Dienstkonto sind die Standardnamen. Sie können beliebige Namen verwenden, aber die Namen sollten mit dem Zweck jedes Kontos leicht identifiziert werden können.

Komponente* Rolle Erforderlich für die einfache Installation? Beschreibung
apigee-cassandra Storage-Objekt-Administrator
roles/storage.objectAdmin
Ermöglicht Cassandra-Sicherungen in Cloud Storage (CS), wie unter Sicherung und Wiederherstellung beschrieben.
apigee-distributed-trace Cloud Trace Agent
roles/cloudtrace.agent
Erlaubt der Hybrid-Laufzeitebene, verteiltes Anfrage-Tracing in einem Format zu verwenden, das mit Systemen wie Google Cloud Trace und Jaeger kompatibel ist.
apigee-logger Log-Autor
roles/logging.logWriter
Ermöglicht die Erfassung von Logging-Daten, wie in Logging beschrieben. Nur für Nicht-GKE-Clusterinstallationen erforderlich.
apigee-mart Apigee Connect Agent
roles/apigeeconnect.Agent
Ermöglicht die Authentifizierung des MART-Dienstes. Die Rolle "Apigee Connect-Agent" erlaubt ihm die sichere Kommunikation mit dem Apigee Connect-Prozess, wie unter Apigee Connect verwenden beschrieben.
apigee-metrics Monitoring-Messwert-Autor
roles/monitoring.metricWriter
Erlaubt die Erfassung von Messwertdaten, wie in der Übersicht zur Messwerterfassung beschrieben.
apigee-synchronizer Apigee Synchronizer Manager
roles/apigee.synchronizerManager
Ermöglicht dem Syncer, Proxy-Bundles und Konfigurationsdaten der Umgebung herunterzuladen. Außerdem wird der Vorgang der Trace-Funktion aktiviert.
apigee-udca Apigee Analytics-Agent
roles/apigee.analyticsAgent
Ermöglicht die Übertragung von Trace-, Analyse- und Bereitstellungsstatusdaten auf die Verwaltungsebene.
apigee-watcher Apigee-Laufzeit-Agent
roles/apigee.runtimeAgent
Apigee Watcher ruft virtuelle Hosts für Änderungen an virtuellen Hosts aus dem Synchronizer ab und nimmt die erforderlichen Änderungen zur Konfiguration des Istio-Ingress vor.
* Dieser Name wird im Dateinamen des heruntergeladenen Dienstkontoschlüssels verwendet.

Alternativ können Sie für Nicht-Produktions-, Test- und Demoumgebungen ein einziges Dienstkonto verwenden, dem alle Rollen zugewiesen sind. Dies wird für Produktionsumgebungen nicht empfohlen.

Komponente* Rolle Erforderlich für die einfache Installation? Beschreibung
apigee-non-prod Apigee Analytics-Agent, Apigee Connect-Agent, Apigee-Organisationsadministrator, Apigee Laufzeit Agent, Apigee Synchronizer Manager, Cloud Trace Agent, Log-Autor, Monitoring-Messwert-Autor, Storage-Objekt-Administrator Oder alle erforderlichen SAs oben Einzelnes Dienstkonto für Demo- oder Testumgebungen. Weitere Informationen finden Sie unter Installieren, Teil 2, Schritt 5: Dienstkonten erstellen.

Neben dem Erstellen der in dieser Tabelle aufgeführten Dienstkonten verwenden Sie die privaten Schlüssel jedes Kontos, um Zugriffstokens zu generieren, sodass Sie auf die Apigee APIs zugreifen können. Das create-service-account-Tool lädt die Schlüsseldateien beim Erstellen oder Aktualisieren der Dienstkonten automatisch in ein Verzeichnis auf Ihrem lokalen Computer herunter.

Dienstkonten erstellen

Es gibt mehrere Möglichkeiten, Dienstkonten zu erstellen, zum Beispiel:

Diese werden in den folgenden Abschnitten beschrieben.

create-service-account-Tool verwenden

Das create-service-account-Tool ist verfügbar, nachdem Sie apigeectl heruntergeladen und maximiert haben (im Verzeichnis tools/). Es arbeitet mit hybriden komponenten-spezifischen Dienstkonten und weist die erforderlichen Rollen für Sie zu. Das Tool lädt auch die Dienstkontoschlüssel automatisch herunter und speichert sie auf Ihrem lokalen Computer.

Mit dem folgenden Befehl werden beispielsweise alle separaten Dienstkonten für eine Produktionsumgebung erstellt, jedem Dienstkonto die entsprechenden IAM-Rollen zugewiesen und die private Schlüsseldatei jedes Kontos in das Verzeichnis ./service-accounts heruntergeladen:

./tools/create-service-account --env prod

Der folgende Befehl erstellt ein einzelnes Dienstkonto mit dem Namen apigee-non-prod mit allen IAM-Rollen für alle Hybridkomponenten, die für Demo- und Testumgebungen geeignet sind, aber nicht für Produktionsumgebungen:

./tools/create-service-account --env non-prod

Weitere Informationen zur Verwendung von create-service-account finden Sie unter Referenz zum Erstellen eines Dienstkontos.

Google Cloud Console verwenden

Sie können Dienstkonten mit der Google Cloud Console erstellen.

Führen Sie die folgenden Schritte für jedes Dienstkonto aus, das unter Von Hybridkomponenten verwendete Dienstkonten und Rollen aufgeführt ist.

So erstellen Sie ein Dienstkonto mit der Google Cloud Console und generieren einen Schlüssel für das Dienstkonto:

  1. Erstellen Sie ein Dienstkonto:

    1. Rufen Sie in der Cloud Console die Seite Dienstkonten auf.

      Zu „Dienstkonten“

    2. Wählen Sie Ihr Projekt aus.
    3. Klicken Sie auf Dienstkonto erstellen.
    4. Geben Sie im Feld Dienstkontoname einen Namen ein. Die Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.

      Apigee empfiehlt, dass Sie einen Namen verwenden, der die Rolle des Dienstkontos widerspiegelt. Sie können für das Dienstkonto den gleichen Namen festlegen wie für die Komponente, die es verwendet. Legen Sie beispielsweise den Namen des Dienstkontos „Log-Autor” auf apigee-logger fest.

      Weitere Informationen zu den Namen und Rollen von Dienstkonten finden Sie unter Von Hybridkomponenten verwendete Dienstkonten und Rollen.

    5. Optional: Im Feld Beschreibung des Dienstkontos können Sie eine entsprechende Beschreibung eingeben. Beschreibungen helfen Ihnen, sich genau daran zu erinnern, wofür ein bestimmtes Dienstkonto verwendet wird.
    6. Klicken Sie auf Erstellen und fortfahren.
    7. Klicken Sie auf das Feld Rolle auswählen und wählen eine Rolle aus, wie unter Von Hybridkomponenten verwendete Dienstkonten und Rollen beschrieben. Wenn die Apigee-Rollen nicht in der Drop-down-Liste enthalten sind, aktualisieren Sie die Seite.

      Wählen Sie beispielsweise für die Logging-Komponente die Rolle „Log-Autor” aus.

      Geben Sie ggf. Text ein, um die Liste der Rollen nach Namen zu filtern. Wenn Sie beispielsweise nur die Apigee-Rollen auflisten möchten, geben Sie Apigee in das Filterfeld ein.

      Sie können einem Dienstkonto mehrere Rollen hinzufügen, aber Apigee empfiehlt, für jedes empfohlene Dienstkonto nur eine Rolle zu verwenden. Die Rollen eines Dienstkontos können Sie nach dem Erstellen in der Cloud Console auf der Seite IAM ändern.

    8. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

      Schließen Sie das Browserfenster nicht. Sie verwenden es in der nächsten Aufgabe.

  2. Laden Sie einen JSON-Schlüssel für das gerade erstellte Dienstkonto herunter:

    1. Klicken Sie in der Cloud Console auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
    2. Klicken Sie auf Schlüssel.
    3. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
    4. Klicken Sie auf Erstellen. Daraufhin wird eine JSON-Schlüsseldatei auf Ihren Computer heruntergeladen.

      Bewahren Sie die Schlüsseldatei sicher auf, da sie zur Authentifizierung als Ihr Dienstkonto verwendet werden kann. Sie können diese Datei beliebig verschieben und umbenennen.

      Später werden Sie einige der Dienstkontoschlüssel zum Konfigurieren von hybriden Laufzeitdiensten verwenden. Wenn Sie zum Beispiel die Hybridlaufzeit konfigurieren, geben Sie den Speicherort der Dienstkontoschlüssel mithilfe der SERVICE_NAME.serviceAccountPath-Attribute ein.

      Diese Schlüssel werden von den Dienstkonten zum Abrufen von Zugriffstokens verwendet, mit denen sie dann in Ihrem Namen Anfragen an die Apigee APIs senden. (Bis dahin dauert es aber noch. Merken Sie sich im Moment nur den Speicherort.)

    5. Klicken Sie auf Close (Schließen).

Wenn Sie nach dem Erstellen eines Dienstkontos eine Rolle hinzufügen oder entfernen möchten, müssen Sie die Seite IAM in der Cloud Console verwenden. Rollen für Dienstkonten können nicht in der Ansicht Dienstkonten verwaltet werden.

APIs zum Erstellen von gcloud-Dienstkonten verwenden

Sie können Dienstkonten mit der Cloud Identity and Access Management API erstellen und verwalten.

Weitere Informationen finden Sie unter Dienstkonten erstellen und verwalten.

Fehlerbehebung