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 con privilegi elevati come le comunicazioni server-server. Utilizzate quando il server di backend crea veicoli e viaggi e li gestisce in Fleet Engine. Per i dettagli, consulta Credenziali predefinite dell'applicazione.

  • Token web JSON (JWT): per ambienti a bassa attendibilità, come le applicazioni client in esecuzione su smartphone e browser. Utilizzati per eseguire operazioni con privilegi inferiori, come l'aggiornamento della posizione del veicolo in Fleet Engine.

    I JWT richiesti dagli ambienti a bassa attendibilità vengono generati ed emessi dal server di backend per proteggere le chiavi secret degli account di servizio e includono rivendicazioni aggiuntive specifiche per Fleet Engine. Per i 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 server di backend. Le rivendicazioni JWT incluse, insieme al ruolo dell'account di servizio, determinano a quali parti del sistema l'app per i conducenti ha accesso e cosa può fare. Questo approccio limita l'accesso solo ai dati necessari per completare le assegnazioni di guida.

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

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

  • L'autorizzazione specifica a quali risorse ha accesso un'entità autenticata. Fleet Engine utilizza account di servizio con ruoli Cloud IAM di Google, oltre a rivendicazioni 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 server di backend e sulle applicazioni e sui siti web client.

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 dell'app server e client

Per maggiori dettagli, consulta le sezioni seguenti.

Configurazione della sicurezza del server di backend

Un amministratore del parco risorse deve procedere come segue:

  1. Crea e configura gli account di servizio:

    1. Nella console Google Cloud, crea gli 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 i 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. Configura la comunicazione sicura con le app client (JWT): crea un generatore di token web JSON per creare JWT con le rivendicazioni appropriate per le applicazioni client e i siti web di monitoraggio. Per i dettagli, consulta Emettere token web JSON.

Configurazione della sicurezza dell'applicazione

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 comunicare in modo sicuro con Fleet Engine. Per i 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 di server e app client

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

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

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

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

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

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

Passaggi successivi