Sicherheit

In diesem Dokument wird beschrieben, wie Fleet Engine den Informationsaustausch zwischen den drei primären Umgebungen Ihres Fleet Engine-Systems schützt: Ihrem Backend-Server, Ihrem Fleet Engine-Server und Ihren Clientanwendungen und Websites.

Fleet Engine verwaltet die Sicherheit auf zwei grundlegende Arten und nutzt dabei das Prinzip der geringsten Berechtigung:

  • Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC): Für Umgebungen mit hohen Berechtigungen wie die Server-zu-Server-Kommunikation. Wird verwendet, wenn Ihr Backend-Server Fahrzeuge und Fahrten erstellt und in Fleet Engine verwaltet. Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen.

  • JSON-Web-Tokens (JWT): Für Umgebungen mit geringem Vertrauen wie Clientanwendungen, die auf Smartphones und in Browsern ausgeführt werden. Wird für Vorgänge mit niedrigeren Berechtigungen verwendet, z. B. zum Aktualisieren des Fahrzeugstandorts in Fleet Engine.

    Die für Umgebungen mit geringem Vertrauen erforderlichen JWTs werden von Ihrem Backend-Server generiert und ausgestellt, um die geheimen Schlüssel von Dienstkonten zu schützen. Sie enthalten zusätzliche Ansprüche, die speziell für Fleet Engine gelten. Weitere Informationen finden Sie unter JSON Web Tokens.

    Wenn Sie beispielsweise eine Fahrer-App haben, greifen Fahrer über die App auf Daten von Fleet Engine zu. Die App wird mit JWTs authentifiziert, die sie von Ihrem Backend-Server erhält. Die enthaltenen JWT-Claims bestimmen zusammen mit der Rolle des Dienstkontos, auf welche Teile Ihres Systems die Fahrer-App zugreifen kann und was sie tun kann. Dieser Ansatz beschränkt den Zugriff auf die Daten, die für die Ausführung der Fahraufträge erforderlich sind.

Fleet Engine verwendet diese Sicherheitsansätze, um Folgendes zu bieten:

  • Bei der Authentifizierung wird die Identität der Entität überprüft, die die Anfrage stellt. Fleet Engine verwendet ADC für Umgebungen mit hohem Vertrauen und JWT für Umgebungen mit niedrigem Vertrauen.

  • Bei der Autorisierung wird festgelegt, auf welche Ressourcen eine authentifizierte Identität Zugriff hat. Fleet Engine verwendet Dienstkonten mit Google Cloud IAM-Rollen sowie JWT-Claims, um sicherzustellen, dass authentifizierte Entitäten Berechtigungen haben, die Daten, die sie anfordern, aufzurufen oder zu ändern.

Sicherheitseinrichtung für Server und Clients

Um die Sicherheit mit Fleet Engine zu aktivieren, richten Sie die erforderlichen Konten und die Sicherheit auf Ihrem Backend-Server sowie in Ihren Clientanwendungen und Websites ein.

Das folgende Diagramm zeigt eine Übersicht über die Schritte zum Einrichten der Sicherheit auf Ihrem Backend-Server und in Ihren Clientanwendungen.

Diagramm des Sicherheitsablaufs bei der Einrichtung für die Server- und Client-App-Authentifizierung

Weitere Informationen finden Sie in den folgenden Abschnitten.

Sicherheit des Backend-Servers einrichten

Ein Flottenadministrator muss so vorgehen:

  1. Dienstkonten erstellen und konfigurieren:

    1. Erstellen Sie Dienstkonten in der Google Cloud Console.

    2. Weisen Sie den Dienstkonten bestimmte IAM-Rollen zu.

    3. Konfigurieren Sie Ihren Backend-Server mit den erstellten Dienstkonten. Weitere Informationen finden Sie unter Dienstkontorollen.

  2. Sichere Kommunikation mit Fleet Engine konfigurieren (ADC): Konfigurieren Sie Ihr Backend so, dass es mit Ihrer Fleet Engine-Instanz über Application Default Credentials (ADC) mit dem entsprechenden *Admin-Dienstkonto kommuniziert. Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen.

  3. Sichere Kommunikation mit Client-Apps konfigurieren (JWT): Erstellen Sie einen JSON Web Token-Generator, um JWTs mit entsprechenden Ansprüchen für Clientanwendungen und Monitoring-Websites zu erstellen. Weitere Informationen finden Sie unter JSON-Webtokens ausstellen.

Einrichtung der Anwendungssicherheit

Anwendungsentwickler müssen in ihre Client-Apps oder Websites eine Möglichkeit zum Abrufen von JSON-Webtokens einbauen, die von Ihrem Back-End-Server generiert werden, und diese verwenden, um sicher mit Fleet Engine zu kommunizieren. Weitere Informationen finden Sie in der Einrichtungsanleitung in der Dokumentation zu Driver Experience (Fahrer-Erlebnis) oder Consumer Experience (Nutzererlebnis) für die benötigten Anwendungen.

Sicherheitsablauf für Server und Client-App

Das folgende Sequenzdiagramm veranschaulicht den Authentifizierungs- und Autorisierungsablauf für Server und Client-Apps mit Fleet Engine. Dabei wird ADC mit dem Backend-Server und JWTs mit den Clientanwendungen und Websites verwendet.

Diagramm des Sicherheitsablaufs während des Betriebs für die Server- und Client-App-Authentifizierung

  • Ihr Back-End-Server erstellt Fahrzeuge und Fahrten oder Aufgaben in Fleet Engine.

  • Ihr Backend-Server weist einem Fahrzeug eine Fahrt oder Aufgabe zu: Die Fahrer-App ruft die Zuweisung ab, wenn sie aktiv ist.

  • Ihr Backend-Server: Signiert und stellt ein JWT für das jeweilige Dienstkonto mit der entsprechenden IAM-Rolle für die zugewiesene Aufgabe oder Fahrt aus.

  • Client-App: Die Client-App verwendet das empfangene JWT, um Standortaktualisierungen für Fahrzeuge an Fleet Engine zu senden.

Nächste Schritte