Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En este documento, se explica cómo Fleet Engine protege el intercambio de información entre los tres entornos principales de tu sistema de Fleet Engine: tu servidor de backend, tu servidor de Fleet Engine y tus aplicaciones y sitios web para clientes.
Fleet Engine administra la seguridad de dos maneras fundamentales, a través del principio de privilegio mínimo:
Credenciales predeterminadas de la aplicación (ADC): Para entornos con privilegios elevados, como las comunicaciones de servidor a servidor. Se usa cuando tu servidor de backend crea vehículos y viajes, y los administra en Fleet Engine. Para obtener más detalles, consulta Credenciales predeterminadas de la aplicación.
Tokens web JSON (JWT): Para entornos de baja confianza, como las aplicaciones cliente que se ejecutan en smartphones y navegadores. Se usa para realizar operaciones con menos privilegios, como actualizar la ubicación del vehículo en Fleet Engine.
Tu servidor de backend genera y emite los JWT que requieren los entornos de baja confianza para proteger las claves secretas de las cuentas de servicio, y también incluyen declaraciones adicionales específicas de Fleet Engine. Para obtener más detalles, consulta Tokens web JSON.
Por ejemplo, si tienes una app para conductores, estos acceden a los datos de Fleet Engine a través de la app, que se autentica con los JWT que obtiene de tu servidor de backend. Los reclamos JWT incluidos, junto con el rol de la cuenta de servicio, determinan a qué partes de tu sistema tiene acceso la app para conductores y qué puede hacer. Este enfoque limita el acceso solo a los datos necesarios para completar sus tareas de conducción.
Fleet Engine usa estos enfoques de seguridad para proporcionar lo siguiente:
La autenticación verifica la identidad de la entidad que realiza la solicitud.
Fleet Engine usa ADC para entornos de alta confianza y JWT para entornos de baja confianza.
La autorización especifica a qué recursos tiene acceso una entidad autenticada. Fleet Engine usa cuentas de servicio con roles de Google Cloud IAM, además de reclamos de JWT que garantizan que las entidades autenticadas tengan permisos para ver o cambiar los datos que solicitan.
Configuración de seguridad del servidor y el cliente
Para habilitar la seguridad con Fleet Engine, configura las cuentas y la seguridad necesarias en tu servidor de backend y en tus aplicaciones y sitios web cliente.
En el siguiente diagrama, se muestra una descripción general de los pasos para configurar la seguridad en tu servidor de backend y tus aplicaciones cliente.
Para obtener más detalles, consulta las siguientes secciones.
Configuración de seguridad del servidor de backend
Un administrador de la flota debe seguir estos pasos:
Crea y configura cuentas de servicio:
En la consola de Google Cloud, crea cuentas de servicio.
Asigna roles de IAM específicos a las cuentas de servicio.
Configura tu servidor de backend con las cuentas de servicio creadas. Para obtener más información, consulta Roles de cuentas de servicio.
Configura la comunicación segura con Fleet Engine (ADC): Configura tu backend para que se comunique con tu instancia de Fleet Engine usando las credenciales predeterminadas de la aplicación con la cuenta de servicio de *Admin adecuada. Para obtener más información, consulta Credenciales predeterminadas de la aplicación.
Configura la comunicación segura con las apps cliente (JWT): Crea un generador de tokens web JSON para crear JWTs con los reclamos adecuados para las aplicaciones cliente y los sitios web de supervisión. Para obtener más detalles, consulta Cómo emitir tokens web JSON.
Configuración de seguridad de la aplicación
Los desarrolladores de aplicaciones deben incluir una forma de recuperar los tokens web JSON generados por tu servidor de backend en tus apps o sitios web para clientes, y usarlos para comunicarse de forma segura con Fleet Engine. Para obtener más detalles, consulta las instrucciones de configuración en la documentación de Experiencia del conductor o Experiencia del consumidor para las aplicaciones que necesites.
Flujo de seguridad de la app cliente y el servidor
En el siguiente diagrama de secuencia, se muestra el flujo de autenticación y autorización de la app del servidor y del cliente con Fleet Engine usando ADC con el servidor de backend y JWT con las aplicaciones y los sitios web del cliente.
Tu servidor de backend crea vehículos, viajes o tareas en Fleet Engine.
Tu servidor de backend asigna un viaje o una tarea a un vehículo:
La app para el conductor, cuando está activa, recupera la asignación.
Tu servidor de backend: Firma y emite un JWT para la cuenta de servicio respectiva con el rol de IAM adecuado para la tarea o el viaje asignado.
La app del cliente: La app del cliente usa el JWT recibido para enviar actualizaciones de la ubicación del vehículo a Fleet Engine.
[null,null,["Última actualización: 2025-08-31 (UTC)"],[[["\u003cp\u003eFleet Engine secures communication between your backend server, the Fleet Engine server, and your client applications using Application Default Credentials (ADC) and JSON Web Tokens (JWT).\u003c/p\u003e\n"],["\u003cp\u003eADC is used for high-privilege communication between your backend server and Fleet Engine, while JWT is used for low-trust environments like client applications.\u003c/p\u003e\n"],["\u003cp\u003eYour backend server generates and issues JWTs to client applications, limiting access based on JWT claims and service account roles for enhanced security.\u003c/p\u003e\n"],["\u003cp\u003eFleet Engine employs authentication to verify the identity of the requesting entity and authorization to control access to specific resources based on defined roles and claims.\u003c/p\u003e\n"],["\u003cp\u003eTo ensure security, you need to configure service accounts, set up ADC for backend communication, implement JWT generation on your server, and enable client applications to fetch and use JWTs for secure interaction with Fleet Engine.\u003c/p\u003e\n"]]],[],null,["# Security overview\n\nThis document explains how Fleet engine secures information exchange between the\nthree primary environments of your Fleet Engine system: your backend server,\nyour Fleet Engine server, and your client applications and websites.\n\nFleet Engine manages security in two fundamental ways, using the principle of\nleast privilege:\n\n- **Application Default Credentials (ADC)** : For high-privileged environments\n such as server to server communications. Used when your backend server is\n creating vehicles and trips and managing them in Fleet Engine. For details,\n see [Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc).\n\n | **Note:** While you can use JWTs for server-to-server communication, Google recommends you use ADC.\n- **JSON Web Tokens (JWT)**: For low-trust environments like client\n applications running on smartphones and browsers. Used to accomplish\n lower-privileged operations, such as updating\n vehicle location in Fleet Engine.\n\n The JWTs required by low-trust environments are generated and issued by your\n backend server to safeguard service account secret keys, and include\n additional claims specific to Fleet Engine. For details, see [JSON Web\n Tokens](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/jwt).\n\n For example, if you have a driver app, drivers access data from Fleet Engine\n through the app. The app is authenticated using JWTs it gets from your\n backend server. The included JWT claims, along with the service account\n role, determine what parts of your system the driver app has access to and\n what it can do. This approach limits access to only the data required\n to complete their driving assignments.\n\nFleet Engine uses these security approaches to provide the following:\n\n- *Authentication* verifies the identity of the entity making the request.\n Fleet Engine uses ADC for high-trust environments and JWT for low-trust\n environments.\n\n- *Authorization* specifies which resources an authenticated entity has access\n to. Fleet Engine uses service accounts with Google Cloud IAM roles, plus JWT\n claims that ensure authenticated entities have permissions to see or change\n the data they're requesting.\n\nServer and client security setup\n--------------------------------\n\nTo enable security with Fleet Engine, set up the required accounts\nand security on your backend server and on your client applications and\nwebsites.\n\nThe following diagram shows an overview of the steps to set up security on your\nbackend server and client applications.\n\nFor more details, see the following sections.\n\n### Backend server security setup\n\nA fleet administrator needs to follow these steps:\n\n1. **Create and configure service accounts**:\n\n 1. In the Google Cloud Console, create service accounts.\n\n 2. Assign specific IAM roles to the service accounts.\n\n 3. Configure your backend server with the created service accounts. For\n details, see [Service account roles](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/service-accounts).\n\n2. **Configure secure communication with Fleet Engine (ADC)** : Configure your\n backend to communicate with your Fleet Engine instance using Application\n Default Credentials with the appropriate \\*Admin service account. For\n details, See\n [Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc).\n\n3. **Configure secure communication with client apps (JWT)** : Create a JSON Web\n Token generator to create JWTs with appropriate claims for client\n applications and monitoring websites. For details, see\n [Issue JSON Web Tokens](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt).\n\n### Application security setup\n\nApplication developers need to include a way to fetch JSON Web Tokens generated\nby your backend server in your client apps or websites, and use them to securely\ncommunicate with Fleet Engine. For details, see the setup instructions in the\n[Driver Experience](/maps/documentation/mobility/driver-sdk) or [Consumer\nExperience](/maps/documentation/mobility/journey-sharing) documentation for the\napplications you need.\n\nServer and client app security flow\n-----------------------------------\n\nThe following sequence diagram demonstrates the server and client app\nauthentication and authorization flow with Fleet Engine using ADC with the\nbackend server and JWTs with the client applications and websites.\n\n- **Your backend server creates vehicles and trips or tasks in Fleet Engine**.\n\n- **Your backend server a trip or task to a vehicle**:\n The driver app, when active, retrieves the assignment.\n\n- **Your backend server**: Signs and issues a JWT for the respective service\n account with the appropriate IAM role for the assigned task or trip.\n\n- **The client app**: The client app uses the received JWT to send vehicle\n location updates to Fleet Engine.\n\nWhat's next\n-----------\n\n- Create your [Fleet Engine project](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/create-project).\n- Learn how to [Issue JSON Web Tokens](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/issue-jwt) from your server.\n- Learn more about [Service account roles](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/service-accounts).\n- Learn more about [JWTs](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/jwt)."]]