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 角色搭配使用:

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

  • 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 搜索任务的权限。由具有此角色的服务账号颁发的令牌通常通过传送舰队运营商的网络浏览器使用。

Fleet Engine Delivery Untrusted Driver User

roles/fleetengine.deliveryUntrustedDriver

授予更新配送车辆位置信息的权限。具有此角色的服务账号签发的令牌通常在配送司机的移动设备上使用。

注意:“不可信”是指驾驶员的设备,不受公司 IT 管理,而由驾驶员提供,并且通常没有适当的 IT 安全控制。采用自带设备政策的组织应选择此角色,以确保安全,并仅依靠移动应用将车辆位置信息更新发送到车队引擎。所有其他互动都应来自您的后端服务器。

Fleet Engine Delivery Consumer User

roles/fleetengine.deliveryConsumer

授予使用跟踪 ID 搜索任务的权限,以及读取(但不能更新)任务信息的权限。具有此角色的服务账号发出的令牌通常通过传送使用方的网络浏览器使用。

Fleet Engine Delivery Trusted Driver User

roles/fleetengine.deliveryTrustedDriver

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

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

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

如需在车队引擎中使用服务账号进行身份验证和授权,请按照以下常规步骤操作:

  1. 在 Google Cloud Console 中,为您需要的每个角色创建服务账号。您需要使用服务账号对驾驶员、使用方、车队监控和车队管理应用和网站(即需要访问车队引擎数据的任何软件)进行身份验证。需要相同权限的软件可以使用相同的服务账号。

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

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

如需详细了解服务账号角色在车队引擎安全方面的运作方式,请参阅安全概览。如需了解服务账号角色的完整说明,请参阅 Google Cloud 文档中的了解 IAM 角色

后续步骤

  • 请参阅 JSON Web 令牌,了解如何在车队引擎中使用这些令牌。
  • 如需简要了解车队引擎安全性,请参阅安全概览
  • 如需了解 Google Cloud Console 服务账号角色的完整说明,请参阅了解 IAM 角色