Présentation de la sécurité

Ce document explique comment Fleet Engine sécurise l'échange d'informations entre les trois principaux environnements de votre système Fleet Engine : votre serveur backend, votre serveur Fleet Engine, et vos applications et sites Web clients.

Fleet Engine gère la sécurité de deux manières fondamentales, en utilisant le principe du moindre privilège :

  • Identifiants par défaut de l'application (ADC) : pour les environnements à privilèges élevés, tels que les communications de serveur à serveur. Utilisé lorsque votre serveur de backend crée et gère des véhicules et des trajets dans Fleet Engine. Pour en savoir plus, consultez Identifiants par défaut de l'application.

  • Jetons Web JSON (JWT) : pour les environnements à faible niveau de confiance, comme les applications clientes exécutées sur des smartphones et des navigateurs. Utilisé pour effectuer des opérations à privilèges inférieurs, comme la mise à jour de la position du véhicule dans Fleet Engine.

    Les jetons JWT requis par les environnements à faible niveau de confiance sont générés et émis par votre serveur backend pour protéger les clés secrètes des comptes de service. Ils incluent des revendications supplémentaires spécifiques à Fleet Engine. Pour en savoir plus, consultez Jetons Web JSON.

    Par exemple, si vous disposez d'une application pour les conducteurs, ceux-ci accèdent aux données de Fleet Engine via l'application. L'application est authentifiée à l'aide des jetons JWT qu'elle reçoit de votre serveur backend. Les revendications JWT incluses, ainsi que le rôle du compte de service, déterminent les parties de votre système auxquelles l'application du chauffeur a accès et ce qu'elle peut faire. Cette approche limite l'accès aux seules données nécessaires pour effectuer les missions de conduite.

Fleet Engine utilise ces approches de sécurité pour fournir les éléments suivants :

  • L'authentification vérifie l'identité de l'entité à l'origine de la demande. Fleet Engine utilise ADC pour les environnements à haut niveau de confiance et JWT pour les environnements à faible niveau de confiance.

  • L'autorisation spécifie les ressources auxquelles une entité authentifiée a accès. Fleet Engine utilise des comptes de service avec des rôles Google Cloud IAM, ainsi que des revendications JWT qui garantissent que les entités authentifiées sont autorisées à consulter ou à modifier les données qu'elles demandent.

Configuration de la sécurité du serveur et du client

Pour activer la sécurité avec Fleet Engine, configurez les comptes et la sécurité requis sur votre serveur backend, ainsi que sur vos applications et sites Web clients.

Le schéma suivant présente les étapes à suivre pour configurer la sécurité sur votre serveur de backend et vos applications clientes.

Schéma du flux de sécurité lors de la configuration de l'authentification de l'application serveur et cliente

Pour en savoir plus, consultez les sections suivantes.

Configurer la sécurité du serveur de backend

Un administrateur de flotte doit procéder comme suit :

  1. Créer et configurer des comptes de service :

    1. Dans la console Google Cloud, créez des comptes de service.

    2. Attribuez des rôles IAM spécifiques aux comptes de service.

    3. Configurez votre serveur de backend avec les comptes de service créés. Pour en savoir plus, consultez Rôles des comptes de service.

  2. Configurer une communication sécurisée avec Fleet Engine (ADC) : configurez votre backend pour qu'il communique avec votre instance Fleet Engine à l'aide des identifiants par défaut de l'application avec le compte de service *Admin approprié. Pour en savoir plus, consultez Identifiants par défaut de l'application.

  3. Configurer une communication sécurisée avec les applications clientes (JWT) : créez un générateur de jetons Web JSON pour créer des JWT avec les revendications appropriées pour les applications clientes et les sites Web de surveillance. Pour en savoir plus, consultez Émettre des jetons Web JSON.

Configuration de la sécurité des applications

Les développeurs d'applications doivent inclure un moyen d'extraire les jetons Web JSON générés par votre serveur backend dans vos applications ou sites Web clients, et les utiliser pour communiquer de manière sécurisée avec Fleet Engine. Pour en savoir plus, consultez les instructions de configuration dans la documentation sur l'expérience du conducteur ou l'expérience du consommateur pour les applications dont vous avez besoin.

Flux de sécurité de l'application serveur et cliente

Le schéma séquentiel suivant illustre le flux d'authentification et d'autorisation des applications serveur et client avec Fleet Engine à l'aide des identifiants par défaut de l'application avec le serveur backend et des jetons JWT avec les applications et sites Web clients.

Schéma du flux de sécurité lors de l'authentification de l'application serveur et client

  • Votre serveur backend crée des véhicules, des trajets ou des tâches dans Fleet Engine.

  • Votre serveur backend attribue un trajet ou une tâche à un véhicule. : L'application du chauffeur, lorsqu'elle est active, récupère l'attribution.

  • Votre serveur backend : signe et émet un jeton JWT pour le compte de service concerné, avec le rôle IAM approprié pour la tâche ou le trajet attribué.

  • L'application cliente : l'application cliente utilise le jeton JWT reçu pour envoyer des informations sur la position du véhicule à Fleet Engine.

Étape suivante