Überblick über die Sicherheit

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

Die Fleet Engine verwaltet die Sicherheit auf zwei grundlegende Arten nach dem Prinzip der geringsten Berechtigung:

  • 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 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 für Vorgänge mit geringeren 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 des Dienstkontos zu schützen. Sie enthalten zusätzliche Ansprüche, die für die Fleet Engine spezifisch sind. 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-Ansprüche und die Dienstkontorolle bestimmen, auf welche Teile Ihres Systems die Fahrer-App zugreifen kann und was sie tun kann. Dadurch wird der Zugriff auf die Daten beschränkt, die für die Erledigung der Fahraufträge erforderlich sind.

Die 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. Die Fleet Engine verwendet ADC für Umgebungen mit hohem Vertrauen und JWT für Umgebungen mit geringem 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, die dafür sorgen, dass authentifizierte Entitäten die Berechtigung haben, die von ihnen angeforderten Daten zu sehen oder zu ändern.

Sicherheitseinrichtung für Server und Client

Wenn Sie die Sicherheit mit Fleet Engine aktivieren möchten, richten Sie die erforderlichen Konten und die Sicherheit 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 in Ihren Clientanwendungen.

Diagramm des Sicherheitsablaufs während der Einrichtung der Authentifizierung für Server- und Client-Apps

Weitere Informationen finden Sie in den folgenden Abschnitten.

Sicherheitseinrichtung für Backend-Server

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

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

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

Einrichtung der Anwendungssicherheit

Anwendungsentwickler müssen in ihren Client-Apps oder Websites eine Möglichkeit zum Abrufen von JSON-Webtokens einbinden, die von Ihrem Backend-Server generiert werden, und diese für die sichere Kommunikation mit Fleet Engine verwenden. Weitere Informationen finden Sie in der Einrichtungsanleitung in der Dokumentation zu Driver Experience oder Consumer Experience für die von Ihnen benötigten Anwendungen.

Sicherheitsablauf für Server- und Client-Apps

Das folgende Sequenzdiagramm zeigt den Authentifizierungs- und Autorisierungsablauf für Server- und Client-Apps mit Fleet Engine. Dabei werden Standardanmeldedaten für Anwendungen mit dem Backend-Server und JWTs mit den Clientanwendungen und Websites verwendet.

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

  • Ihr Backend-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 die Fleet Engine zu senden.

Nächste Schritte