Configuración de IAM y roles de la cuenta de servicio

Configurar IAM de forma correcta es un requisito previo de la administración de identidades y seguridad para tu sistema de Fleet Engine. Usa roles de IAM para adaptar el acceso a diferentes operaciones y datos, y cumplir con los requisitos de conductores, consumidores y operadores de flotas.

¿Qué son las cuentas de servicio y los roles de IAM?

Configura cuentas de servicio en la consola de Google Cloud para autenticar y autorizar el acceso a los datos en Fleet Engine. Fleet Engine tiene un conjunto de roles de IAM predeterminados que asignas a una cuenta de servicio para determinar a qué datos tiene acceso esa cuenta. Para obtener más información, consulta Descripción general de las cuentas de servicio en la documentación de Google Cloud.

Fleet Engine usa roles y políticas de IAM para administrar la autorización de los métodos y recursos de la API de Fleet Engine. Para obtener más información, consulta Descripción general de los roles en la documentación de Google Cloud. Usa solo los roles de la cuenta de servicio de Fleet Engine que se describen en las siguientes secciones.

Para obtener más información general sobre cómo otorgar roles de IAM, consulta Otorga un rol de IAM con la consola de Google Cloud.

Roles de la cuenta de servicio de Fleet Engine

El servicio de movilidad que elijas para la instalación de Fleet Engine determina los roles y permisos que se incluyen.

En los siguientes roles, se ilustra cómo funcionan los permisos con los roles de Fleet Engine:

  • Los roles ondemandAdmin y deliveryAdmin pueden realizar todas las operaciones en Fleet Engine. Usa estos roles solo en entornos de confianza, como las comunicaciones entre tu servidor de backend y Fleet Engine.

  • Los roles driverSdkUser y consumerSdkUser solo pueden obtener detalles de los viajes asignados y actualizar o recibir la ubicación del vehículo. Por lo general, los clientes usan estos tipos de roles en entornos de baja confianza, como apps de conductores, consumidores o supervisión.

Los roles y permisos otorgados para los viajes on demand y las tareas programadas se describen en las siguientes tablas.

Viajes on demand

Rol Permiso

Administrador a pedido de Fleet Engine

roles/fleetengine.ondemandAdmin

Otorga permiso de lectura, escritura y eliminación para todos los recursos de vehículos y viajes. Las principales con este rol no necesitan usar JWT y, en su lugar, deben usar las credenciales predeterminadas de la aplicación siempre que sea posible. Este rol ignora las reclamaciones de JWT personalizadas. Restringe el uso de este rol a entornos de confianza, como tu servidor de backend.

Usuario de SDK para el controlador de Fleet Engine

roles/fleetengine.driverSdkUser

Actualiza las ubicaciones y rutas de los vehículos, y recupera información sobre los vehículos y los viajes. Usa JWT con reclamaciones personalizadas creadas con este rol para la autenticación y autorización desde apps de conductores para viajes compartidos o entregas.

Usuario de SDK para el consumidor de Fleet Engine

roles/fleetengine.consumerSdkUser

Busca vehículos y recupera información sobre vehículos y viajes. Usa JWT con reclamaciones personalizadas creadas con este rol para las apps para consumidores de viajes compartidos o entregas .

Tareas programadas

Rol Permiso

Administrador de entrega de Fleet Engine

roles/fleetengine.deliveryAdmin

Otorga permiso de lectura, escritura y eliminación para los recursos de entrega. Las principales con este rol no necesitan usar JWT y, en su lugar, deben usar las credenciales predeterminadas de la aplicación. Ignora las reclamaciones de JWT personalizadas. Restringe el uso de este rol a entornos de confianza, como tu servidor de backend.

Lector de flotas de entrega de Fleet Engine

roles/fleetengine.deliveryFleetReader

Otorga permiso para leer vehículos y tareas de entrega, y para buscar tareas con un ID de seguimiento. Los tokens que emite una cuenta de servicio con este rol se suelen usar desde el navegador web de un operador de flota de entrega.

Usuario de controlador no confiable de entrega de Fleet Engine

roles/fleetengine.deliveryUntrustedDriver

Otorga permiso para actualizar la ubicación del vehículo de entrega. Los tokens emitidos por una cuenta de servicio con este rol se suelen usar desde el dispositivo móvil del conductor de entrega.

Nota: No confiable se refiere al dispositivo de un conductor que no administra el departamento de TI corporativo, sino que lo proporciona el conductor y, por lo general, no tiene los controles de seguridad de TI adecuados. Las organizaciones con políticas de Trae tu propio dispositivo deben optar por la seguridad de este rol y solo confiar en la app para dispositivos móviles para enviar actualizaciones de la ubicación del vehículo a Fleet Engine. Todas las demás interacciones deben originarse en tus servidores de backend.

Usuario consumidor de entrega de Fleet Engine

roles/fleetengine.deliveryConsumer

Otorga permiso para buscar tareas con un ID de seguimiento y leer la información de la tarea, pero no actualizarla. Los tokens que emite una cuenta de servicio con este rol se suelen usar desde el navegador web de un consumidor de entregas.

Usuario de controlador confiable de entrega de Fleet Engine

roles/fleetengine.deliveryTrustedDriver

Otorga permiso para crear y actualizar vehículos y tareas de entrega, lo que incluye actualizar la ubicación del vehículo de entrega y el estado o resultado de la tarea. Los tokens que emite una cuenta de servicio con este rol suelen usarse desde los dispositivos móviles de tus conductores de entrega o desde tus servidores de backend.

Nota: Confiable se refiere al dispositivo de un conductor administrado por el departamento de TI de la empresa que tiene los controles de seguridad adecuados. Las organizaciones que proporcionan estos dispositivos pueden optar por integrar las interacciones de Fleet Engine en la app para dispositivos móviles.

Cómo usar roles de IAM y cuentas de servicio con Fleet Engine

Para usar cuentas de servicio para la autenticación y la autorización en Fleet Engine, sigue estos pasos generales:

  1. Crea cuentas de servicio en la consola de Google Cloud para cada rol que necesites. Necesitas cuentas de servicio para autenticar las aplicaciones y los sitios web de conductores, consumidores, supervisión de flotas y administración de flotas, es decir, cualquier software que necesite acceso a los datos de Fleet Engine. El software que necesita los mismos permisos puede usar la misma cuenta de servicio.

  2. Asigna un rol de política de IAM de Fleet Engine a cada cuenta de servicio. Selecciona el rol de la política de IAM específico de Fleet Engine que proporciona los permisos adecuados para acceder a tus datos o actualizarlos en Fleet Engine.

  3. Usa las cuentas de servicio adecuadas en tus apps y software para autenticar su conexión con Fleet Engine y autorizar el acceso a los recursos que otorga el rol asignado.

Para obtener detalles sobre cómo se ajustan los roles de las cuentas de servicio a la seguridad de Fleet Engine, consulta la Descripción general de la seguridad. Para obtener una explicación completa de los roles de las cuentas de servicio, consulta Información sobre los roles de IAM en la documentación de Google Cloud.

¿Qué sigue?