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 client e i siti web.

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.

  • JWT (JSON Web Token): per ambienti a basso livello di attendibilità come le applicazioni client in esecuzione su smartphone e browser. Utilizzato per eseguire operazioni con privilegi inferiori, come l'aggiornamento della posizione dei veicoli 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 driver, i conducenti accedono ai dati di Fleet Engine tramite l'app. L'app viene autenticata tramite 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 alla sicurezza per fornire quanto segue:

  • L'opzione Autenticazione verifica l'identità dell'entità che effettua la richiesta. Fleet Engine utilizza ADC per gli ambienti con attendibilità elevata e JWT per ambienti a basso livello di attendibilità.

  • Authorization specifica a quali risorse 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 abilitare la sicurezza con Fleet Engine, configura gli account richiesti e la sicurezza sul tuo server di backend e sulle applicazioni e sui siti web client.

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

Diagramma del flusso di sicurezza durante la configurazione per l'autenticazione del server e delle app 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 per comunicare con l'istanza di Fleet Engine utilizzando le credenziali predefinite dell'applicazione con l'account di servizio *Admin appropriato. Per i dettagli, consulta Credenziali predefinite dell'applicazione.

  3. Configura la comunicazione sicura con le app client (JWT): crea un generatore di token web JSON per creare JWT con attestazioni appropriate per le applicazioni client e i siti web di monitoraggio. 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 relativa all'esperienza del conducente o all'esperienza del consumatore per le applicazioni di cui hai bisogno.

Flusso di sicurezza delle app server e client

Il seguente diagramma di sequenza illustra il flusso di autenticazione e autorizzazione delle app client e server con Fleet Engine utilizzando ADC con il server di backend e 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 server di backend per una corsa o un'attività verso un veicolo: L'app del conducente, quando è attiva, 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