In diesem Dokument wird erläutert, wie Fleet Engine den Informationsaustausch zwischen den Ihres Fleet Engine-Systems drei primäre Umgebungen: Ihren Back-End-Server, Ihren Fleet Engine-Server und Ihre Clientanwendungen und Websites.
Fleet Engine verwaltet die Sicherheit auf zwei grundlegende Arten und nutzt das Prinzip der Geringste 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 Erstellung von Fahrzeugen und Fahrten und deren Verwaltung in Fleet Engine. Weitere Informationen Siehe 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 verwendet, um Vorgänge mit niedrigeren Berechtigungen, 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 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 auf Daten von Fleet Engine zu über die App. Die Anwendung wird mithilfe von JWTs authentifiziert, die sie von Ihrem Back-End-Server. Die enthaltenen JWT-Anforderungen zusammen mit dem Dienstkonto festlegen, auf welche Teile Ihres Systems die Treiber-App was es kann. Bei diesem Ansatz wird der Zugriff auf die erforderlichen Daten beschränkt. um ihre Fahraufgaben zu erledigen.
Fleet Engine nutzt diese Sicherheitsansätze, um Folgendes bereitzustellen:
Bei der Authentifizierung wird die Identität der Entität überprüft, die die Anfrage stellt. Fleet Engine verwendet ADC für vertrauenswürdige Umgebungen und JWT für Low-Trust-Umgebungen Umgebungen.
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.
Einrichtung der Server- und Clientsicherheit
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.
Weitere Informationen finden Sie in den folgenden Abschnitten.
Sicherheit des Backend-Servers einrichten
Ein Flottenadministrator muss die folgenden Schritte ausführen:
Dienstkonten erstellen und konfigurieren:
Erstellen Sie in der Google Cloud Console Dienstkonten.
Weisen Sie den Dienstkonten bestimmte IAM-Rollen zu.
Konfigurieren Sie Ihren Backend-Server mit den erstellten Dienstkonten. Weitere Informationen finden Sie unter Dienstkontorollen.
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. Für Details finden Sie unter Standardanmeldedaten für Anwendungen.
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 der generierten JSON Web Tokens bereitstellen von Ihrem Back-End-Server in Ihren Client-Apps oder -Websites und nutzen sie, um auf sichere Weise mit Fleet Engine kommunizieren können. Weitere Informationen finden Sie in der Einrichtungsanleitung in der Driver Experience oder Consumer Dokumentation zur Erfahrung für die Anwendungen, die Sie brauchen.
Sicherheitsablauf für Server- und Client-Apps
Das folgende Sequenzdiagramm zeigt die Server- und die Clientanwendung mit Fleet Engine unter Verwendung von ADC mit dem Back-End-Server und JWTs mit den Clientanwendungen und Websites.
Ihr Backend-Server erstellt Fahrzeuge und Fahrten oder Aufgaben in Fleet Engine.
Von Ihrem Backend-Server eine Fahrt oder Aufgabe an ein Fahrzeug senden: Die Fahrer-App ruft die Zuweisung ab, wenn sie aktiv ist.
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.
Client-App: Die Client-App sendet anhand des empfangenen JWT das Fahrzeug. Standortaktualisierungen für Fleet Engine.