IAM 设置和服务账号角色

正确配置 IAM 是确保 Fleet Engine 系统安全和身份管理的前提条件。使用 IAM 角色可以根据驾驶员、消费者和车队运营商的要求,定制对不同操作和数据的访问权限。

什么是服务账号和 IAM 角色?

您可以在 Google Cloud 控制台中设置服务账号,以对 Fleet Engine 中的数据进行身份验证和授权。Fleet Engine 具有一组预先确定的 IAM 角色,您可以将这些角色分配给服务账号,以确定该账号可以访问哪些数据。如需了解详情,请参阅 Google Cloud 文档中的 服务账号概览

Fleet Engine 使用 IAM 角色和政策来管理 Fleet Engine API 方法和资源的授权。如需了解详情,请参阅 Google Cloud 文档中的角色概览 。请仅使用以下部分中所述的 Fleet Engine 服务账号角色。

如需了解有关授予 IAM 角色的更多一般信息,请参阅 使用 Google Cloud 控制台授予 IAM 角色

Fleet Engine 服务账号角色

您为 Fleet Engine 安装选择的移动出行服务决定了包含的角色和权限。

以下角色说明了权限如何与 Fleet Engine 角色搭配使用:

  • ondemandAdmindeliveryAdmin 角色可以执行 Fleet Engine 中的所有操作。请仅在受信任的环境中使用这些角色,例如在后端服务器与 Fleet Engine 之间进行通信。

  • driverSdkUserconsumerSdkUser 角色仅允许获取分配的行程的详细信息,以及更新或接收车辆位置信息。这些类型的角色通常由低信任环境(例如驾驶员、消费者或监控应用)中的客户端使用。

下表介绍了为按需行程和计划任务授予的角色和权限。

按需行程

角色 权限

Fleet Engine On-demand Admin

roles/fleetengine.ondemandAdmin

授予对所有车辆和行程 资源的读取、写入和删除权限。具有此角色的正文无需使用 JWT,而应尽可能使用应用默认凭证。此角色会忽略自定义 JWT 声明。请将此角色的使用限制在 受信任的环境(例如后端服务器)中。

Fleet Engine Driver SDK User

roles/fleetengine.driverSdkUser

更新车辆位置和路线,并检索有关车辆和行程的信息 。使用通过此角色创建的包含自定义声明的 JWT,以便从网约车或外卖配送的驾驶员应用进行身份验证和授权。

Fleet Engine Consumer SDK User

roles/fleetengine.consumerSdkUser

搜索车辆并检索有关车辆和 行程的信息。使用通过此角色创建的包含自定义声明的 JWT,以便从网约车或外卖配送的消费者应用进行身份验证和授权。

计划任务

角色 权限

Fleet Engine Delivery Admin

roles/fleetengine.deliveryAdmin

授予对配送资源的读取、写入和删除权限。具有此角色的正文无需使用 JWT,而应使用 应用默认凭证。忽略自定义 JWT 声明。请将此角色的使用限制在受信任的环境(例如后端服务器)中。

Fleet Engine Delivery Fleet Reader

roles/fleetengine.deliveryFleetReader

授予读取配送车辆和任务的权限,以及使用跟踪 ID 搜索任务的权限。具有此角色的服务账号颁发的令牌通常从配送车队运营商的 Web 浏览器中使用。

Fleet Engine Delivery Untrusted Driver User

roles/fleetengine.deliveryUntrustedDriver

授予更新配送车辆位置的权限。具有此角色的服务账号颁发的令牌通常从您的配送驾驶员的移动设备中使用。

注意:不受信任是指驾驶员的设备不受公司 IT 部门管理,而是由驾驶员提供,并且通常没有适当的 IT 安全控制措施。采用自带设备政策的组织应选择 此角色的安全性,并且仅依赖移动应用向 Fleet Engine 发送 车辆位置更新。所有其他互动 应源自后端服务器。

Fleet Engine Delivery Consumer User

roles/fleetengine.deliveryConsumer

授予使用跟踪 ID 搜索任务的权限,以及读取但不更新任务信息的权限。具有此角色的服务 账号颁发的令牌通常从配送消费者的 Web 浏览器中使用。

Fleet Engine Delivery Trusted Driver User

roles/fleetengine.deliveryTrustedDriver

授予创建和更新配送车辆和 任务的权限,包括更新配送车辆位置和任务状态 或结果。具有此角色的服务账号颁发的令牌通常从配送驾驶员的移动设备或后端服务器中使用。

注意:受信任是指驾驶员的设备由 公司 IT 部门管理,并具有适当的安全控制措施。提供这些设备的组织可以选择将 Fleet Engine 互动集成到移动应用中。

如何将 IAM 角色和服务账号与 Fleet Engine 搭配使用

如需在 Fleet Engine 中使用服务账号进行身份验证和授权,请按以下一般步骤操作:

  1. 在 Google Cloud 控制台中为每个所需角色创建服务账号 。您需要服务账号来对驾驶员、消费者、车队监控和车队管理应用和网站(任何需要访问 Fleet Engine 数据的软件)进行身份验证。需要相同权限的软件可以使用同一服务账号。

  2. 为每个服务账号分配 Fleet Engine IAM 政策角色 。选择特定于 Fleet Engine 的 IAM 政策角色,该角色提供在 Fleet Engine 中访问或更新数据的适当权限。

  3. 在应用和软件中使用适当的服务账号 ,以对其与 Fleet Engine 的连接进行身份验证,并授权访问分配的角色授予的资源。

如需详细了解服务账号角色如何融入 Fleet Engine 安全性,请参阅 安全概览。如需全面了解服务账号 角色,请参阅 Google Cloud 文档中的了解 IAM 角色

后续步骤

  • 阅读有关 JSON Web 令牌 的信息,了解其在 Fleet Engine 中的用途。
  • 如需大致了解 Fleet Engine 安全性,请参阅安全 概览
  • 如需全面了解 Google Cloud 控制台服务账号角色,请参阅 了解 IAM 角色