Conception de la sécurité Fleet Engine

Maintenant que vous avez vu les principes de base concernant les rôles de compte et les jetons JWT dans Fleet Engine, vous pouvez consulter cette section pour comprendre le processus de base de l'authentification des opérations d'autorisation dans Fleet Engine.

Conception de la sécurité

La conception de la sécurité de Fleet Engine comprend les éléments suivants:

  • Rôles:
    • Les rôles IAM définissent le champ d'application de l'activité autorisée pour la appelant. Par exemple, le rôle ondemandAdmin ou deliveryAdmin est autorisé pour tout faire, alors que la classe driverSdkUser ou deliveryUntrustedDriver ne peut effectuer que des mises à jour de position minimales.
    • Les rôles IAM sont associés aux comptes de service.
  • Demandes
    • Les revendications JWT limitent davantage les entités sur lesquelles l'appelant peut opérer. Il peut s'agir de tâches spécifiques ou de véhicules de livraison.
    • Les requêtes envoyées à Fleet Engine contiennent toujours un JWT.
    • Étant donné que les jetons JWT sont associés à des comptes de service, les requêtes envoyées au parc sont implicitement associés au compte de service associé le jeton JWT.
    • Pour demander le jeton JWT approprié, vous pouvez ensuite le transmettre au parc. votre code exécuté dans un environnement à faible confiance doit d'abord appeler votre s'exécutant dans un environnement entièrement sécurisé.
  • Contrôles de sécurité par Fleet Engine
    • Les rôles IAM associés au compte de service fournissent l'autorisation à l'appelant d'émettre l'appel d'API.
    • Les revendications JWT transmises dans la requête fournissent l'autorisation appropriée pour l'appelant pour qu'il opère sur l'entité.

Flux d'authentification de l'application cliente

Le schéma séquentiel suivant illustre ce flux d'authentification pour l'application cliente plus de détails.

  • L'administrateur de parc configure les comptes comme suit :
    • Crée des comptes de service
    • Attribue des rôles IAM spécifiques aux comptes de service
    • Il configure le backend avec les comptes de service.
  • L'application cliente demande un jeton JWT à votre serveur. Le demandeur pourrait être l'application du pilote, l'application grand public ou une application de surveillance.
  • Fleet Engine émet un jeton JWT pour le compte de service correspondant.
  • L'application cliente effectue les opérations suivantes:
    • Reçoit le JWT
    • Utilise le jeton JWT pour se connecter à Fleet Engine afin de lire ou de modifier des données en fonction des rôles IAM qui lui ont été attribués lors de la phase de configuration.

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

Étape suivante