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

La configuración correcta de IAM es un requisito previo de la administración de identidades y seguridad de tu sistema de Fleet Engine. Usa las funciones de IAM para personalizar el acceso a diferentes operaciones y datos a fin de cumplir con los requisitos de los conductores, los consumidores y los operadores de flota.

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

Configuras 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 funciones de IAM predeterminadas que se asignan a una cuenta de servicio para determinar a qué datos tiene acceso esa cuenta. Para obtener más información, consulta la descripción general de las cuentas de servicio en la documentación de Google Cloud.

Fleet Engine usa funciones 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 las funciones en la documentación de Google Cloud. Usa solo los roles de 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 mediante 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 conductor, consumidor o supervisión.

Las funciones y los permisos otorgados para viajes a pedido y las tareas programadas se describen en las siguientes tablas.

Viajes a pedido

Rol Permiso

Administrador según demanda de Fleet Engine

roles/fleetengine.ondemandAdmin

Otorga permiso de lectura y escritura para todos los recursos de vehículos y viajes. Los 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 los reclamos de JWT personalizados. Restringe el uso de esta función a los entornos de confianza, como tu servidor de backend.

Usuario de SDK para el controlador de Fleet Engine

roles/fleetengine.driverSdkUser

Actualiza las ubicaciones y las rutas de los vehículos, y recupera información sobre los vehículos y los viajes. Usa JWT con reclamos personalizados creados 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

Buscar vehículos y recuperar información sobre ellos y los viajes Usa JWT con reclamos personalizados creados con este rol para apps de consumo de transporte privado con conductor o entrega.

Tareas programadas

Rol Permiso

Administrador de entrega de Fleet Engine

roles/fleetengine.deliveryAdmin

Otorga permiso de lectura y escritura para los recursos de publicación. Los principales con este rol no necesitan usar JWT y, en su lugar, deben usar 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 flota 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. Por lo general, los tokens emitidos por una cuenta de servicio con este rol se usan 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 esta función se suelen usar desde el dispositivo móvil del repartidor.

Nota: No confiable se refiere al dispositivo de un conductor que no es administrado por el equipo 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 uso de dispositivos personales deben optar por la seguridad de este rol y solo depender de 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 provenir de 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 para leer, pero no actualizar, la información de las tareas. Los tokens emitidos por una cuenta de servicio con esta función 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, incluida la actualización de la ubicación del vehículo de entrega y el estado o el resultado de las tareas. Los tokens emitidos por una cuenta de servicio con esta función se suelen usar desde los dispositivos móviles del repartidor o desde tus servidores de backend.

Nota: El dispositivo de confianza se refiere al dispositivo de un conductor que administra el equipo de TI de la empresa y que tiene 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 administración de flotas, conductores, consumidores, supervisión de flotas y 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ífica de Fleet Engine que proporcione 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 las funciones de la cuenta de servicio se ajustan a la seguridad de Fleet Engine, consulta Descripción general de seguridad. Para obtener una explicación completa de las funciones de la cuenta de servicio, consulta Comprende las funciones de IAM en la documentación de Google Cloud.

¿Qué sigue?