Présentation de la sécurité

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

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

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

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

    Les jetons JWT requis par les environnements à faible confiance sont générés et émis par votre serveur backend pour protéger les clés secrètes du compte de service, et incluent des revendications supplémentaires spécifiques à Fleet Engine. Pour plus d'informations, consultez la section JSON Web Jetons :

    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 de JWT qu'elle obtient 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 conducteur a accès et ce qu'elle peut faire. Cette approche limite l'accès aux seules données requises pour effectuer ses 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 les identifiants par défaut de l'application pour les environnements à haut niveau de confiance et les jetons JWT pour les environnements à faible niveau de confiance.

  • L'autorisation spécifie les ressources auxquelles une entité authentifiée a accès. auxquelles vous souhaitez vous connecter. Fleet Engine utilise des comptes de service avec des rôles IAM Google Cloud, 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 de configuration de la sécurité sur votre des applications clientes et de serveur backend.

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

Pour en savoir plus, consultez les sections suivantes.

Configuration de la sécurité du serveur backend

Un administrateur de parc doit suivre ces étapes:

  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 backend avec les comptes de service créés. Pour consultez la section Rôles de compte de service.

  2. Configurer une communication sécurisée avec Fleet Engine (ADC): configurez votre pour communiquer avec votre instance Fleet Engine via l'API Identifiants par défaut associés au compte de service *Admin approprié Pour détails, consultez Identifiants par défaut de l'application.

  3. Configurer la communication sécurisée avec les applications clientes (JWT): créez un fichier JSON Web Générateur de jetons permettant de créer des jetons JWT avec des revendications appropriées pour le client les applications et les sites Web de surveillance. Pour en savoir plus, consultez la section É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 clientes ou vos sites Web, 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 conducteur ou l'expérience client pour les applications dont vous avez besoin.

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

Le schéma séquentiel suivant illustre le flux d'authentification et d'autorisation du serveur et de l'application cliente 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 les sites Web clients.

Schéma du flux de sécurité lors de l'opération pour le serveur et l'application cliente
authentification

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

  • Votre serveur backend un trajet ou une tâche vers un véhicule : Lorsqu'elle est active, l'application du pilote récupère l'attribution.

  • Votre serveur backend: signe et émet un jeton JWT pour le service correspondant. disposant du 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 mises à jour de position à Fleet Engine.

Étape suivante