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, ad esempio 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 dei service account 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 del service account, determinano a quali parti del sistema ha accesso l'app per i conducenti e cosa può fare. Questo approccio limita l'accesso solo ai dati necessari per completare le assegnazioni 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 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 i service account con i ruoli Cloud IAM di Google Cloud, oltre alle 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 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 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 in modo che comunichi con l'istanza di Fleet Engine utilizzando le credenziali predefinite dell'applicazione con il *service account 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 service account 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