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 安装选择的 Mobility 服务决定了其中包含的角色和权限。

以下角色说明了权限如何与 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 搜索任务的权限,以及读取但不更新任务信息的权限。具有此角色的服务账号所签发的令牌通常通过配送消费者的网络浏览器使用。

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 角色