Panoramica sulla sicurezza

Questo documento spiega in che modo Fleet Engine protegge lo scambio di informazioni tra i tre ambienti principali del sistema Fleet Engine: il server di backend, il server Fleet Engine e le applicazioni e i siti web client.

Fleet Engine gestisce la sicurezza in due modi fondamentali, utilizzando il principio del privilegio minimo:

  • Credenziali predefinite dell'applicazione (ADC): per ambienti ad accesso elevato, come le comunicazioni server-to-server. Viene utilizzato quando il server di backend crea veicoli e viaggi e li gestisce in Fleet Engine. Per maggiori dettagli, consulta Credenziali predefinite dell'applicazione.

  • Token web JSON (JWT): per ambienti con un livello di attendibilità basso, come le applicazioni client in esecuzione su smartphone e browser. Utilizzato per eseguire operazioni con privilegi inferiori, ad esempio l'aggiornamento della posizione del veicolo in Fleet Engine.

    I token JWT richiesti dagli ambienti con un livello di attendibilità basso vengono generati e emessi dal tuo server di backend per proteggere le chiavi segrete dell'account di servizio e includono claim aggiuntivi specifici per Fleet Engine. Per maggiori dettagli, consulta la sezione Token web JSON.

    Ad esempio, se hai un'app per i conducenti, questi accedono ai dati di Fleet Engine tramite l'app. L'app viene autenticata utilizzando i token JWT che riceve dal server di backend. I claim JWT inclusi, insieme al ruolo dell'account servizio, determinano a quali parti del sistema ha accesso l'app del conducente e cosa può fare. Questo approccio limita l'accesso solo ai dati necessari per completare i compiti di guida.

Fleet Engine utilizza questi approcci di sicurezza per fornire quanto segue:

  • L'autenticazione verifica l'identità della persona che effettua la richiesta. Fleet Engine utilizza ADC per gli ambienti ad alta affidabilità e JWT per quelli a bassa affidabilità.

  • L'autorizzazione specifica le risorse a cui ha accesso un'entità autenticata. Fleet Engine utilizza gli account di servizio con i ruoli IAM di Google Cloud, oltre ai claim JWT che garantiscono che le entità autenticate dispongano delle autorizzazioni per visualizzare o modificare i dati che stanno richiedendo.

Configurazione della sicurezza del server e del client

Per attivare la sicurezza con Fleet Engine, configura gli account e la sicurezza richiesti sul server di backend, sulle applicazioni client e sui siti web.

Il seguente diagramma mostra una panoramica dei passaggi per configurare la sicurezza sul server di backend e sulle applicazioni client.

Diagramma del flusso di sicurezza durante la configurazione per l'autenticazione delle app server e client

Per maggiori dettagli, consulta le sezioni seguenti.

Configurazione della sicurezza del server di backend

Un amministratore del parco veicoli deve seguire questi passaggi:

  1. Crea e configura gli account di servizio:

    1. Nella console Google Cloud, crea account di servizio.

    2. Assegna ruoli IAM specifici agli account di servizio.

    3. Configura il server di backend con gli account di servizio creati. Per maggiori dettagli, consulta Ruoli degli account di servizio.

  2. Configura la comunicazione sicura con Fleet Engine (ADC): configura il backend in modo che comunichi con l'istanza di Fleet Engine utilizzando le credenziali predefinite dell'applicazione con l'account di servizio *Amministratore appropriato. Per i dettagli, consulta Credenziali predefinite dell'applicazione.

  3. Configurare la comunicazione sicura con le app client (JWT): crea un generatore di token web JSON per creare JWT con le attestazioni appropriate per le applicazioni client e per monitorare i siti web. Per maggiori dettagli, consulta Emettere token web JSON.

Configurazione della sicurezza delle applicazioni

Gli sviluppatori di applicazioni devono includere un modo per recuperare i token web JSON generati dal server di backend nelle app o nei siti web client e utilizzarli per dialogare in modo sicuro con Fleet Engine. Per maggiori dettagli, consulta le istruzioni di configurazione nella documentazione di Esperienza autista o Esperienza consumer per le applicazioni di cui hai bisogno.

Flusso di sicurezza delle app server e client

Il seguente diagramma di sequenza mostra il flusso di autenticazione e autorizzazione delle app server e client con Fleet Engine che utilizza l'ADC con il server di backend e i JWT con le applicazioni client e i siti web.

Diagramma del flusso di sicurezza durante il funzionamento per l'autenticazione delle app server e client

  • Il server di backend crea veicoli e corse o attività in Fleet Engine.

  • Il tuo backend assegna un viaggio o un'attività a un veicolo: quando è attiva, l'app del conducente recupera l'assegnazione.

  • Il tuo server di backend: firma e emette un JWT per il rispettivo account di servizio con il ruolo IAM appropriato per l'attività o il viaggio assegnati.

  • L'app client: l'app client utilizza il JWT ricevuto per inviare aggiornamenti sulla posizione del veicolo a Fleet Engine.

Passaggi successivi