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 delle applicazioni (ADC): per gli ambienti con privilegi elevati come le comunicazioni server-server. Utilizzato quando il server di backend creando veicoli e corse e gestendoli in Fleet Engine. Per maggiori dettagli, vedi Credenziali predefinite dell'applicazione.
JWT (JSON Web Token): per ambienti a basso livello di attendibilità come i client di applicazioni 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 basso livello di attendibilità 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 conducenti, i conducenti accedono ai dati di Fleet Engine tramite l'app. L'app viene autenticata tramite JWT che riceve dal tuo di backend. Le rivendicazioni JWT incluse, insieme all'account di servizio il ruolo, determina a quali parti del sistema ha accesso l'app del conducente cosa può fare. Questo approccio limita l'accesso ai soli dati richiesti 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 con affidabilità ridotta.
Autorizzazione specifica a quali risorse ha accesso un'entità autenticata a. 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 di sicurezza di server e client
Per abilitare la sicurezza con Fleet Engine, configura gli account richiesti e sicurezza sul tuo server di backend e sulle tue applicazioni client siti web.
Il seguente diagramma mostra una panoramica dei passaggi per configurare la sicurezza sul server di backend e sulle applicazioni client.
Per maggiori dettagli, consulta le sezioni seguenti.
Configurazione della sicurezza del server di backend
Un amministratore del parco risorse deve seguire questi passaggi:
Crea e configura gli account di servizio:
Nella console Google Cloud, crea account di servizio.
Assegna ruoli IAM specifici agli account di servizio.
Configura il server di backend con gli account di servizio creati. Per Per maggiori dettagli, consulta Ruoli dell'account di servizio.
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.
Configura la comunicazione sicura con le app client (JWT): crea un file web JSON Generatore di token per creare JWT con attestazioni appropriate per il client applicazioni e il monitoraggio dei siti web. Per maggiori dettagli, vedi emissione di token web JSON.
Configurazione della sicurezza delle applicazioni
Gli sviluppatori di applicazioni devono includere un modo per recuperare i token web JSON generati dal tuo server di backend nelle app o nei siti web client e di utilizzarli per garantire comunicare con Fleet Engine. Per maggiori dettagli, consulta le istruzioni di configurazione nella documentazione di Driver Experience o Consumer Experience 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.
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 ed emette un JWT per il rispettivo servizio con il ruolo IAM appropriato per l'attività o la corsa assegnati.
App client: l'app client utilizza il JWT ricevuto per inviare il veicolo. la posizione degli aggiornamenti di Fleet Engine.
Passaggi successivi
- Crea il tuo progetto Fleet Engine.
- Scopri come emettere token web JSON dal tuo server.
- Scopri di più sui ruoli degli account di servizio.
- Scopri di più sui JWT.