Fleet Engine 安全设计

至此您已经了解了有关 Fleet Engine 中账号角色和 JWT 的基础知识, 您可以查看本部分,了解身份验证的基本流程 Fleet Engine 中的授权操作。

安全设计

Fleet Engine 的安全设计包含以下要素:

  • 角色
    • IAM 角色定义允许访问的 调用方。例如,您可以授予 ondemandAdmindeliveryAdmin 角色 driverSdkUserdeliveryUntrustedDriver 角色只能执行最少量的位置信息更新。
    • IAM 角色与服务账号相关联。
  • 请求数
    • JWT 声明可进一步限制调用者可以操作的实体。 任务可以是特定任务,也可以是送货车辆。
    • 发送到 Fleet Engine 的请求始终包含 JWT。
    • 由于 JWT 与服务账号相关联,因此请求会发送到舰队 引擎与 创建 JWT。
    • 为了请求相应的 JWT,您随后可以将其传递给舰队 引擎,在低信任环境中运行的代码必须先调用 在完全受信任的环境中运行的代码。
  • 按 Fleet Engine 进行的安全检查
    • 与服务账号关联的 IAM 角色可提供正确的 调用者发出 API 调用的授权。
    • 请求中传递的 JWT 声明为 对实体执行操作。

客户端应用身份验证流程

以下序列图演示了这些客户端应用身份验证流程 。

  • 舰队管理员按如下方式设置账号
    • 创建服务账号
    • 为服务账号分配特定的 IAM 角色
    • 使用服务账号配置其后端
  • 客户端应用从您的服务器请求 JWT。请求者可能是 驾驶应用、消费者应用或监控应用。
  • Fleet Engine 会为相应的服务账号颁发 JWT。
  • 客户端应用执行以下操作:
    • 接收 JWT
    • 使用 JWT 连接到 Fleet Engine,以读取或修改数据; 具体取决于在设置阶段为其分配的 IAM 角色。

客户端应用身份验证设置期间的安全流程示意图

后续步骤