正确配置 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 角色搭配使用:
ondemandAdmin 和 deliveryAdmin 角色可以在 Fleet Engine 中执行所有操作。请仅在可信环境中使用这些角色,例如后端服务器与 Fleet Engine 之间的通信。
driverSdkUser 和 consumerSdkUser 角色只能获取已分配行程的详细信息,以及更新或接收车辆位置信息。这些类型的角色通常由低信任环境中的客户端(例如司机、消费者或监控应用)使用。
下表介绍了为按需行程和预定任务授予的角色和权限。
按需行程
| 角色 | 权限 |
|---|---|
Fleet Engine On-demand Admin
|
授予对所有车辆和行程资源的读取、写入和删除权限。具有此角色的主账号无需使用 JWT,而应尽可能使用应用默认凭证。此角色会忽略自定义 JWT 声明。请仅在受信任的环境(例如后端服务器)中使用此角色。 |
Fleet Engine Driver SDK User
|
更新车辆位置和路线,并检索有关车辆和行程的信息。使用通过此角色创建的具有自定义声明的 JWT,以便通过司机应用进行身份验证和授权,从而提供拼车或配送服务。 |
Fleet Engine Consumer SDK User
|
搜索车辆并检索车辆和行程的相关信息。将使用此角色创建的具有自定义声明的 JWT 用于拼车或配送消费者应用。 |
定时任务
| 角色 | 权限 |
|---|---|
Fleet Engine Delivery Admin
|
授予对配送资源的读取、写入和删除权限。 具有此角色的主账号无需使用 JWT,而应使用应用默认凭证。忽略自定义 JWT 声明。请仅在受信任的环境(例如后端服务器)中使用此角色。 |
Fleet Engine Delivery Fleet Reader
|
授予读取配送车辆和任务以及使用跟踪 ID 搜索任务的权限。由具有此角色的服务账号签发的令牌通常由配送车队运营商的网络浏览器使用。 |
Fleet Engine Delivery Untrusted Driver User
|
授予更新配送车辆位置信息的权限。由具有此角色的服务账号颁发的令牌通常在送货司机的移动设备上使用。 注意:不可信是指司机的设备不受企业 IT 部门管理,而是由司机提供,通常没有适当的 IT 安全控制措施。采用“自带设备”政策的组织应选择此角色的安全性,并仅依靠移动应用向 Fleet Engine 发送车辆位置信息更新。所有其他互动都应源自您的后端服务器。 |
Fleet Engine Delivery Consumer User
|
授予使用跟踪 ID 搜索任务以及读取(但不能更新)任务信息的权限。由具有此角色的服务账号签发的令牌通常由配送消费者的网络浏览器使用。 |
Fleet Engine Delivery Trusted Driver User
|
授予创建和更新配送车辆和任务的权限,包括更新配送车辆位置和任务状态或结果。由具有此角色的服务账号颁发的令牌通常由配送司机的移动设备或后端服务器使用。 注意:受信任是指驾驶员的设备由企业 IT 部门管理,并具有适当的安全控制措施。提供这些设备的组织可以选择将 Fleet Engine 互动集成到移动应用中。 |
如何将 IAM 角色和服务账号与 Fleet Engine 搭配使用
如需在 Fleet Engine 中使用服务账号进行身份验证和授权,请按照以下常规步骤操作:
在 Google Cloud 控制台中为您需要的每个角色创建服务账号。您需要使用服务账号来对司机、消费者、车队监控和车队管理应用和网站(即需要访问 Fleet Engine 数据的任何软件)进行身份验证。需要相同权限的软件可以使用同一服务账号。
为每个服务账号分配 Fleet Engine IAM 政策角色。选择 Fleet Engine 专属 IAM 政策角色,该角色提供在 Fleet Engine 中访问或更新数据的适当权限。
在应用和软件中使用适当的服务账号,以验证其与 Fleet Engine 的连接,并授权访问分配的角色授予的资源。
如需详细了解服务账号角色如何融入 Fleet Engine 安全机制,请参阅安全概览。如需详细了解服务账号角色,请参阅 Google Cloud 文档中的了解 IAM 角色。
后续步骤
- 请参阅 JSON Web 令牌,了解其在 Fleet Engine 中的用途。
- 如需简要了解 Fleet Engine 安全性,请参阅安全概览。
- 如需详细了解 Google Cloud 控制台服务账号角色,请参阅了解 IAM 角色