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.
Dienstkonten und Rollen, die von Hybridkomponenten verwendet 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-Administratorroles/storage.objectAdmin |
Ermöglicht Cassandra-Sicherungen in Cloud Storage (CS), wie unter Sicherung und Wiederherstellung beschrieben. | |
apigee-distributed-trace |
Cloud Trace Agentroles/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-Autorroles/logging.logWriter |
Ermöglicht die Erfassung von Logging-Daten, wie in Logging beschrieben. Nur für Nicht-GKE-Clusterinstallationen erforderlich. | |
apigee-mart |
Apigee Connect Agentroles/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-Autorroles/monitoring.metricWriter |
Erlaubt die Erfassung von Messwertdaten, wie in der Übersicht zur Messwerterfassung beschrieben. | |
apigee-org-admin |
Apigee-Organisationsadministratorroles/apigee.admin |
Hiermit können Sie die getSyncAuthorization API und die setSyncAuthorization API aufrufen. Da der Apigee-Organisationsadministrator eine externe Rolle der Laufzeitebene ist, können Sie diese Rolle nicht dem Dienstkonto mit dem create-service-account -Tool zuweisen. |
|
apigee-synchronizer |
Apigee Synchronizer Managerroles/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-Agentroles/apigee.analyticsAgent |
Ermöglicht die Übertragung von Trace-, Analyse- und Bereitstellungsstatusdaten auf die Verwaltungsebene. | |
apigee-watcher |
Apigee-Laufzeit-Agentroles/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. |
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:
- (Empfohlenes)
create-service-account
-Tool - Google Cloud Console
- gcloud SDK
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:
- Laden Sie
apigeectl
herunter und maximieren Sie es, sofern nicht bereits geschehen, wie unter Apigeectl herunterladen und installieren beschrieben. - Erstellen Sie ein Verzeichnis zum Speichern Ihrer Dienstkontoschlüssel. Beispiel:
mkdir ./service-accounts
- 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-distributed-trace ./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.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.
Google Cloud Console verwenden
Sie können Dienstkonten mit der Google Cloud Console erstellen.
So erstellen Sie Dienstkonten mit der Google Cloud Console:
- Ö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.
- Wählen Sie das Projekt aus, das Sie in Schritt 2: Google Cloud-Projekt erstellen erstellt haben.
- 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.
- Klicken Sie oben in der Ansicht auf +Dienstkonto erstellen, um ein neues Dienstkonto zu erstellen.
Die Ansicht Dienstkontodetails wird angezeigt.
- 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 für das Dienstkonto den gleichen Namen festlegen wie für die Komponente, die es 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:
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.
- Klicken Sie auf Erstellen.
Google Cloud erstellt ein neues Dienstkonto und zeigt die Ansicht Dienstkontoberechtigungen an, wie im folgenden Beispiel gezeigt:
Verwenden Sie diese Ansicht, um Ihrem neuen Dienstkonto eine Rolle zuzuweisen.
- Klicken Sie auf die Drop-down-Liste Rolle auswählen.
- 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: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.
- Klicken Sie auf Weiter.
In Google Cloud wird die Ansicht Nutzern Zugriff auf dieses Dienstkonto erteilen angezeigt:
- 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:
- 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:
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.)
- 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:
In der Google Cloud Console werden Dienstkonten durch das Symbol 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.