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.

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 könnte, wird empfohlen, dass Sie mehrere Dienstkonten erstellen, die jeweils einer bestimmten Aufgabe zugewiesen sind und jedes ü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:

Komponente* Rolle Erforderlich für die einfache Installation? Beschreibung
apigee-cassandra Storage-Objekt-Administrator Ermöglicht Cassandra-Sicherungen in Cloud Storage (CS), wie unter Sicherung und Wiederherstellung beschrieben.
apigee-logger Log-Autor Ermöglicht die Erfassung von Logging-Daten, wie in Logging beschrieben. Nur für Nicht-GKE-Clusterinstallationen erforderlich.
apigee-mart Apigee Connect Agent Ermöglicht die Authentifizierung des MART-Dienstes. Die Rolle "Apigee Connect-Agent" verlangsamt die Kommunikation mit dem Apigee Connect-Prozess, wie unter Apigee Connect verwenden beschrieben.
apigee-metrics Monitoring-Messwert-Autor Erlaubt die Erfassung von Messwertdaten, wie in der Übersicht zur Messwerterfassung beschrieben.
apigee-org-admin Apigee-Organisationsadministrator Hiermit können Sie die getSyncAuthorization API und die setSyncAuthorization API aufrufen. Sie können dieses Dienstkonto nicht mit dem create-service-account-Tool erstellen.
apigee-synchronizer Apigee Synchronizer Manager 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 Ermöglicht die Übertragung von Trace-, Analyse- und Bereitstellungsstatusdaten auf die Verwaltungsebene.
apigee-watcher Apigee-Laufzeit-Agent 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.

Zusätzlich zu der in dieser Tabelle aufgeführten Dienstkonten können Sie auch ihre privaten Schlüssel herunterladen. Sie verwenden diese Schlüssel später, um Zugriffstoken zu generieren, damit Sie auf die Apigee APIs zugreifen können.

Dienstkonten erstellen

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

Diese werden in den folgenden Abschnitten beschrieben.

Tool zur Erstellung von Dienstkonten verwenden

Das create-service-account-Tool, das nach dem Herunterladen und Erweitern von apigeectl verfügbar ist, erstellt hybride Komponenten für Dienstkonten und weist die erforderlichen Rollen zu. Das Tool lädt auch automatisch die Dienstkontoschlüssel herunter und speichert sie auf Ihrem lokalen Computer im angegebenen Verzeichnis.

So erstellen Sie Dienstkonten mit dem create-service-account-Tool:

  1. Laden Sie apigeectl herunter und maximieren Sie es, sofern nicht bereits geschehen, wie unter Apigeectl herunterladen und installieren beschrieben.
  2. Erstellen Sie ein Verzeichnis zum Speichern Ihrer Dienstkontoschlüssel. Beispiel:
    mkdir ./service-accounts
  3. Führen Sie die folgenden Befehle aus:
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts

    Mit diesen Befehlen werden die meisten erforderlichen Konten erstellt und ihre Schlüssel im Verzeichnis ./service-accounts gespeichert. Mit diesen Befehlen wird das Dienstkonto apigee-org-admin nicht erstellt.

    Wenn diese Befehle fehlschlagen, prüfen Sie, ob Sie auf ein vorhandenes Verzeichnis verwiesen haben, in dem die Schlüsseldateien gespeichert werden.

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

  4. Erstellen Sie das Dienstkonto apigee-org-admin. Verwenden Sie dazu die Google Cloud Console.

Google Cloud Console verwenden

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

So erstellen Sie Dienstkonten mit der Google Cloud Console:

  1. Öffnen Sie die Google Cloud Console und melden Sie sich mit dem Nutzerkonto an, das Sie in Schritt 1: Google Cloud-Konto erstellen erstellt haben.
  2. Wählen Sie das Projekt aus, das Sie in Schritt 2: Google Cloud-Projekt erstellen erstellt haben.
  3. Wählen Sie IAM und Verwaltung > Dienstkonten aus.

    Die Console zeigt die Ansicht Dienstkonten an. Diese Ansicht zeigt eine Liste der Dienstkonten des Projekts an. In den meisten Fällen werden noch keine Konten aufgeführt. Die Liste enthält jedoch möglicherweise Standarddienstkonten, je nachdem, wie Sie Ihr Projekt erstellt haben.

  4. Klicken Sie oben in der Ansicht auf +Dienstkonto erstellen, um ein neues Dienstkonto zu erstellen.

    Die Ansicht Dienstkontodetails wird angezeigt.

  5. Geben Sie im Feld Name des Dienstkontos den Namen des Dienstkontos ein.

    Apigee empfiehlt, dass Sie einen Namen verwenden, der die Rolle des Dienstkontos widerspiegelt. Sie können den Namen des Dienstes so festlegen, dass er denselben Namen hat wie die Komponente, die ihn verwendet. Legen Sie beispielsweise den Namen des Dienstkontos „Logautor” auf apigee-logger fest.

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

    Wenn Sie einen Namen eingeben, generiert Google Cloud eine eindeutige Dienstkonto-ID, die wie eine E-Mail-Adresse strukturiert ist, wie im folgenden Beispiel gezeigt:

    Beispiel-ID von apigee-logger@hybrid-42.iam.gserviceaccount.com

    Optional können Sie im Feld Dienstkontobeschreibung eine Beschreibung eingeben. Beschreibungen helfen Ihnen, sich genau daran zu erinnern, wofür ein bestimmtes Dienstkonto verwendet wird.

  6. Klicken Sie auf Erstellen.

    Google Cloud erstellt ein neues Dienstkonto und zeigt die Ansicht Dienstkontoberechtigungen an, wie im folgenden Beispiel gezeigt:

    Dienstkonto ohne ausgewählte Berechtigungen erstellen

    Verwenden Sie diese Ansicht, um Ihrem neuen Dienstkonto eine Rolle zuzuweisen.

  7. Klicken Sie auf die Drop-down-Liste Rolle auswählen.
  8. Wählen Sie die Rolle des Dienstkontos 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 wie im folgenden Beispiel "Apigee" in das Filterfeld ein:

    Liste der Dienstkontoberechtigungen, die mit Apigee übereinstimmt

    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 im Bereich IAM & Verwaltung ändern.

  9. Klicken Sie auf Weiter.

    In Google Cloud wird die Ansicht Nutzern Zugriff auf dieses Dienstkonto erteilen angezeigt:

    Felder für die Rolle "Dienstkontonutzer" und "Dienstkontoadministrator", Schaltfläche "Schlüssel erstellen"

  10. Klicken Sie unter Schlüssel erstellen (optional) auf Schlüssel erstellen.

    In Google Cloud haben Sie die Möglichkeit, einen JSON- oder P12-Schlüssel herunterzuladen:

    JSON- oder P12-Schlüsseltyp auswählen

  11. Wählen Sie JSON (Standardeinstellung) aus und klicken Sie auf Erstellen.

    Google Cloud speichert die Schlüsseldatei im JSON-Format auf Ihrem lokalen Computer und zeigt eine Bestätigung an, wenn der Vorgang erfolgreich war, wie im folgenden Beispiel gezeigt:

    Beispieldateiname.json

    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 Attribute service_name.serviceAccountPath 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.)

  12. Wiederholen Sie die Schritte 4 bis 11 für jedes Dienstkonto, das unter Dienstkonten und Rollen aufgelistet sind, die von Hybridkomponenten verwendet werden (außer dem Konto apigee-mart, dem keine Rolle zugeordnet ist. Weisen Sie ihm keine Rolle zu.)

    Wenn Sie fertig sind, sollten Sie zusätzlich zu den Standardeinstellungen (falls vorhanden) folgende Dienstkonten haben:

    Liste der Dienstkonten. Auswahlfeld für Spalte 1, Spalte 2 E-Mail, Spalte 3 Status, Spalte 4 Dienstkontoname

    In der Google Cloud Console werden Dienstkonten durch das Symbol Linke Seite Schlüssel, rechte Seite halbes Rechteck, alle unterstrichen gekennzeichnet.

Wenn Sie ein Dienstkonto erstellt haben und eine Rolle hinzufügen oder entfernen möchten, müssen Sie die Ansicht IAM & Verwaltung 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