Nachdem Sie sich mit den Grundlagen zu Kontorollen und JWTs in Fleet Engine vertraut gemacht haben, finden Sie in diesem Abschnitt Informationen zum grundlegenden Authentifizierungsfluss Autorisierungsvorgänge in Fleet Engine.
Sicherheitsdesign
Das Sicherheitsdesign von Fleet Engine besteht aus den folgenden Elementen:
- Rollen:
<ph type="x-smartling-placeholder">
- </ph>
- IAM-Rollen definieren den Umfang der zulässigen Aktivitäten für die Anrufer. Beispielsweise ist die Rolle ondemandAdmin oder deliveryAdmin zulässig. driverSdkUser oder deliveryUntrustedDriver die Standortupdates nur in minimalem Umfang.
- IAM-Rollen sind mit Dienstkonten verknüpft.
- Anfragen
<ph type="x-smartling-placeholder">
- </ph>
- JWT-Anforderungen schränken die Entitäten weiter ein, an denen der Aufrufer arbeiten kann. Dabei kann es sich um bestimmte Aufgaben oder Lieferfahrzeuge handeln.
- An Fleet Engine gesendete Anfragen enthalten immer ein JWT.
- Da JWTs mit Dienstkonten verknüpft sind, werden Anfragen an die Flotte gesendet Engine sind implizit mit dem Dienstkonto verknüpft, das mit das JWT.
- Zum Anfordern des entsprechenden JWT, das Sie dann an die Flotte übergeben können muss Ihr Code, der in einer Umgebung mit wenig Vertrauen ausgeführt wird, zuerst auf Ihrem in einer vollständig vertrauenswürdigen Umgebung ausgeführt wird.
- Sicherheitsprüfungen durch Fleet Engine
<ph type="x-smartling-placeholder">
- </ph>
- IAM-Rollen, die mit dem Dienstkonto verknüpft sind, Autorisierung für den Aufrufer, den API-Aufruf auszugeben.
- Die in der Anfrage übergebenen JWT-Anforderungen stellen die korrekte Autorisierung für Aufrufer für die Entität.
Authentifizierungsvorgang für Client-Apps
Im folgenden Sequenzdiagramm wird der Authentifizierungsvorgang für Client-Apps veranschaulicht Details.
- Der Flottenadministrator richtet Konten so ein:
<ph type="x-smartling-placeholder">
- </ph>
- Erstellen von Dienstkonten
- Weist den Dienstkonten bestimmte IAM-Rollen zu
- Konfiguriert das Backend mit den Dienstkonten
- Die Client-App fordert ein JWT von Ihrem Server an. Der Antragsteller könnte die Treiber-App, die Consumer-App oder eine Monitoring-App.
- Fleet Engine gibt ein JWT für das jeweilige Dienstkonto aus.
- Die Clientanwendung führt Folgendes aus:
<ph type="x-smartling-placeholder">
- </ph>
- Erhält das JWT
- Verwendet das JWT, um eine Verbindung zu Fleet Engine herzustellen und Daten zu lesen oder zu ändern, abhängig von den IAM-Rollen, die ihm in der Einrichtungsphase zugewiesen wurden.