Sicherheit

In diesem Dokument wird beschrieben, wie Fleet Engine den Informationsaustausch zwischen den drei Hauptumgebungen Ihres Fleet Engine-Systems sichert: Ihrem Backend-Server, Ihrem Fleet Engine-Server sowie Ihren Clientanwendungen und Websites.

Fleet Engine verwaltet die Sicherheit auf zwei grundlegende Arten, wobei das Prinzip der geringsten Berechtigung angewendet wird:

  • Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC): Für Umgebungen mit hohen Berechtigungen, z. B. für die Server-zu-Server-Kommunikation. Wird verwendet, wenn Ihr Backend-Server Fahrzeuge und Fahrten erstellt und in der 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 Browsern ausgeführt werden. Wird für Vorgänge mit niedrigeren Berechtigungen verwendet, z. B. für die Aktualisierung des Fahrzeugstandorts in der Fleet Engine.

    Die für Umgebungen mit geringem Vertrauen erforderlichen JWTs werden von Ihrem Backend-Server generiert und ausgestellt, um geheime Schlüssel von Dienstkonten zu schützen. Sie enthalten zusätzliche Anforderungen, 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 aus der Fleet Engine zu. Die App wird mit JWTs authentifiziert, die sie von Ihrem Backend-Server erhält. Die enthaltenen JWT-Claims und die Rolle des Dienstkontos bestimmen, auf welche Teile Ihres Systems die Fahrer-App zugreifen kann und was sie tun kann. Mit diesem Ansatz wird der Zugriff auf die Daten beschränkt, die für die Ausführung der Fahraufträge erforderlich sind.

Fleet Engine nutzt diese Sicherheitsansätze, um Folgendes zu ermöglichen:

  • Bei der Authentifizierung wird die Identität der Entität bestätigt, die die Anfrage stellt. Die Fleet Engine verwendet ADC für Umgebungen mit hoher Vertrauenswürdigkeit und JWT für Umgebungen mit geringer Vertrauenswürdigkeit.

  • Die Autorisierung gibt an, auf welche Ressourcen eine authentifizierte Entität Zugriff hat. Fleet Engine verwendet Dienstkonten mit Google Cloud IAM-Rollen sowie JWT-Anspruche, die dafür sorgen, dass authentifizierte Entitäten Berechtigungen zum Ansehen oder Ändern der angeforderten Daten haben.

Server- und Clientsicherheit einrichten

Wenn Sie die Sicherheit mit Fleet Engine aktivieren möchten, richten Sie die erforderlichen Konten und Sicherheitsmaßnahmen auf Ihrem Backend-Server sowie in Ihren Clientanwendungen und auf Ihren Websites ein.

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

Diagramm des Sicherheitsflusses bei der Einrichtung der Authentifizierung für Server- und Client-Apps

Weitere Informationen finden Sie in den folgenden Abschnitten.

Sicherheit des Backend-Servers einrichten

Ein Flottenadministrator muss die folgenden Schritte ausführen:

  1. Dienstkonten erstellen und konfigurieren:

    1. Erstellen Sie in der Google Cloud Console Dienstkonten.

    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 der Fleet Engine (ADC) konfigurieren: Konfigurieren Sie Ihr Backend so, dass es mit der Fleet Engine-Instanz über die Standardanmeldedaten der Anwendung mit dem entsprechenden *Admin-Dienstkonto kommuniziert. Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen.

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

Einrichtung der Anwendungssicherheit

Anwendungsentwickler müssen eine Möglichkeit zum Abrufen von JSON-Webtokens einbinden, die von Ihrem Back-End-Server in Ihren Client-Apps oder auf Ihren Websites generiert werden, und diese zum sicheren Austausch mit der Fleet Engine verwenden. Weitere Informationen finden Sie in der Einrichtungsanleitung für die benötigten Anwendungen in der Dokumentation zur Fahrererfahrung oder Nutzererfahrung.

Sicherheitsablauf für Server- und Client-Apps

Das folgende Sequenzdiagramm veranschaulicht den Ablauf der Authentifizierung und Autorisierung von Server- und Client-Apps mit der Fleet Engine. Dabei wird ADC mit dem Backend-Server und JWTs mit den Clientanwendungen und Websites verwendet.

Diagramm des Sicherheitsflusses während des Betriebs für die Authentifizierung von Server- und Client-Apps

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

  • Ihr Backend sendet eine Fahrt oder Aufgabe an ein Fahrzeug: Wenn die Fahrer App aktiv ist, ruft sie die Aufgabe ab.

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

  • Clientanwendung: Die Clientanwendung verwendet das empfangene JWT, um Fahrzeugstandortaktualisierungen an die Fleet Engine zu senden.

Nächste Schritte