Diseño de seguridad de Fleet Engine

Ahora que leíste los conceptos básicos sobre roles de cuentas y JWT en Fleet Engine, puedes revisar esta sección para comprender el flujo básico de autenticación y de autorización en Fleet Engine.

Diseño de seguridad

El diseño de seguridad de Fleet Engine consta de los siguientes elementos:

  • Roles:
    • Los roles de IAM definen el alcance de la actividad permitida para el llamador. Por ejemplo, se permiten los roles ondemandAdmin o deliveryAdmin. para hacer todo, mientras que driverSdkUser o deliveryUntrustedDriver solo puede realizar actualizaciones de ubicación mínimas.
    • Los roles de IAM se asocian con cuentas de servicio.
  • Solicitudes
    • Las reclamaciones de JWT restringen aún más las entidades en las que puede operar el emisor. Pueden ser tareas o vehículos de entrega específicos.
    • Las solicitudes enviadas a Fleet Engine siempre contienen un JWT.
    • Dado que los JWT están asociados con las cuentas de servicio, las solicitudes enviadas a la flota Engine están asociadas implícitamente con la cuenta de servicio asociada a el JWT.
    • Para solicitar el JWT adecuado que puedes pasar a la flota Engine, tu código que se ejecuta en un entorno de baja confianza primero debe llamar código que se ejecuta en un entorno completamente confiable.
  • Controles de seguridad de Fleet Engine
    • de IAM asociados a la cuenta de servicio autorización para que el llamador emita la llamada a la API.
    • Las reclamaciones de JWT aprobadas en la solicitud proporcionan la autorización correcta para que el llamador opere en la entidad.

Flujo de autenticación de la app cliente

En el siguiente diagrama de secuencias, se muestra el flujo de autenticación de la app cliente más detalles.

  • El administrador de la flota configura las cuentas de la siguiente manera:
    • Crea cuentas de servicio
    • Asigna roles específicos de IAM a las cuentas de servicio
    • Configurar su backend con las cuentas de servicio
  • La app cliente solicita un JWT desde tu servidor. El solicitante podría ser la app de Driver, la app para consumidores o una app de supervisión.
  • Fleet Engine emite un JWT para la cuenta de servicio correspondiente.
  • La app cliente hace lo siguiente:
    • Recibe el JWT.
    • Usa el JWT para conectarse a Fleet Engine para leer o modificar datos. según los roles de IAM que se le asignaron durante la fase de configuración.

Diagrama del flujo de seguridad durante la configuración de la autenticación de la app cliente

¿Qué sigue?