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 con privilegi elevati, come le comunicazioni server-server. Utilizzato quando il server di backend crea veicoli e corse e li gestisce in Fleet Engine. Per i 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 JWT richiesti dagli ambienti con un livello di attendibilità basso vengono generati ed emessi dal tuo server di backend per salvaguardare le chiavi secret dei service account e includono claim aggiuntivi specifici per Fleet Engine. Per maggiori dettagli, consulta 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 JWT che riceve dal tuo server di backend. Le rivendicazioni JWT incluse, insieme al ruolo del service account, determinano a quali parti del tuo sistema l'app per i conducenti ha accesso e cosa può fare. Questo approccio limita l'accesso solo ai dati necessari per completare le attività di guida.

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

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

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

Configurazione della sicurezza di server e client

Per attivare la sicurezza con Fleet Engine, configura gli account e la sicurezza richiesti sul tuo server di backend e sulle tue applicazioni client e sui tuoi 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, vedi le sezioni seguenti.

Configurazione della sicurezza del server di backend

Un amministratore del parco risorse deve seguire questi passaggi:

  1. Crea e configura i service account:

    1. Nella console Google Cloud, crea i service account.

    2. Assegna ruoli IAM specifici ai service account.

    3. Configura il server di backend con i service account creati. Per i dettagli, consulta Ruoli dei service account.

  2. Configura la comunicazione sicura con Fleet Engine (ADC): configura il tuo backend per comunicare con l'istanza di Fleet Engine utilizzando le credenziali predefinite dell'applicazione con il service account *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 rivendicazioni appropriate per le applicazioni client e i siti web di monitoraggio. Per maggiori dettagli, consulta Emetti 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 client o nei siti web e utilizzarli per comunicare 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 mostra il flusso di autenticazione e autorizzazione delle app server e client con Fleet Engine utilizzando ADC con il server di backend e i JWT con le applicazioni client e i siti web.

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

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

  • Il tuo server di backend assegna una corsa o un'attività a un veicolo: l'app per i conducenti, quando è attiva, recupera l'assegnazione.

  • Il tuo server di backend: firma ed emette un JWT per il rispettivo service account con il ruolo IAM appropriato per l'attività o la corsa assegnata.

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

Passaggi successivi