Überblick über die 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, z. B. Clientanwendungen, die auf Smartphones und in Browsern ausgeführt werden. Wird verwendet, um Vorgänge mit niedrigeren Berechtigungen auszuführen, z. B. das 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 Erledigung 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.

  • Die Autorisierung gibt an, auf welche Ressourcen eine authentifizierte Entität Zugriff hat. Fleet Engine verwendet Dienstkonten mit Google Cloud IAM-Rollen sowie JWT-Ansprüche, 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, müssen Sie die erforderlichen Konten und die Sicherheit auf Ihrem Backend-Server sowie in Ihren Clientanwendungen und auf Ihren Websites einrichten.

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

Diagramm des Sicherheitsablaufs bei der Einrichtung der Server- und Client-App-Authentifizierung

Weitere Informationen finden Sie in den folgenden Abschnitten.

Einrichtung der Sicherheit des Backend-Servers

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 Dienstkontenrollen.

  2. Sichere Kommunikation mit Fleet Engine konfigurieren (ADC): Konfigurieren Sie Ihr Backend so, dass es mit Ihrer Fleet Engine-Instanz über Standardanmeldedaten für Anwendungen (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 einbauen, JSON-Webtokens abzurufen, die von Ihrem Backend-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 (Fahrerfreundlichkeit) oder Consumer Experience (Nutzerfreundlichkeit) 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 unter Verwendung von ADC mit dem Backend-Server und JWTs mit den Clientanwendungen und Websites.

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.

  • Die Client-App: Die Client-App verwendet das empfangene JWT, um Standortaktualisierungen des Fahrzeugs an Fleet Engine zu senden.

Nächste Schritte