Skip to content

Token Management Service

构想

使用 Token Management Service 授权您的应用访问使用该应用的租户的数据。如果您的应用需要经常在没有用户交互的情况下对多个租户执行数据处理,则可以进行此种授权,例如,预计算仪表盘的 KPI。如果应用可以访问 Token Management Service,则该应用可以请求令牌以访问其它租户的 IoT 数据。必须为每个版本的应用对 Token Management Service 的访问进行明确授权。

访问

要访问 Token Management Service,您的应用必须获得在开发阶段使用 Developer Cockpit 和在生产阶段使用 Operator Cockpit 进行访问的明确授权。

基础知识

无论何时要访问 IoT 数据,必须使用有效的令牌获得访问权限。如果应用需要在没有人工交互的情况下访问 IoT 数据,则需要使用技术令牌。这些令牌可以通过 Token Management Service 生成。要签发令牌,应用向 Token Management Service 发送请求,该请求中要包含应用自身的凭证并指定要访问的数据。如果应用有权限访问此数据,则 Token Management Service 会返回一个有效令牌,授予应用所请求的访问权限。

架构

下图显示了 Token Management Service 与 Developer Cockpit、Operator Cockpit 和应用之间的基本交互。

Background data access workflow

当应用开发者将其应用上传到 Developer Cockpit 进行测试时,应用无法访问其它租户的数据。但是,可以测试应用和 Token Management Service 之间的通信。[1]

如果应用需要访问 IoT 数据,则该应用要向 Token Management API 请求令牌。在请求中,应用要提供其应用凭证以及要访问的位置。如果应用有权限访问此数据,则 Token Management Service 会为此操作返回一个有效令牌。[2]

应用使用令牌来访问请求的数据。[3]

在 Operator Cockpit 中注册应用时,可以为其分配读/写访问权限或受限访问权限。读/写访问权限将授予应用对所有可用 MindSphere API 的完全访问权限。具有受限访问权限的应用可以管理 assets 和文件并创建事件,但不允许写入时间序列数据。客户在购买应用时必须确认该应用可以访问其数据。[4]

应用凭证

应用必须将其应用凭证发送到 Token Management Service 才能请求令牌。应用凭证包含客户端 ID 和客户端密钥。它们在将应用上传到 Developer CockpitOperator Cockpit 后创建,并且必须用作应用的环境变量。
必须在授权管理中为应用手动签发访问权限才能创建应用凭证。对于 Cloud Foundry 应用,Operator Cockpit 会自动提供应用凭证作为应用的环境变量。

信息

在您签发应用凭证时,Developer Cockpit 和 Operator Cockpit 仅显示一次服务凭证。无法再次查看服务凭证。

应用凭证是特定于版本的,如果上传了应用的新版本,则必须更新应用凭证。这也意味着,将应用转移到操作员租户后,Developer Cockpit 中签发的应用凭证将不再有效。

要撤消凭证,请注销应用。

功能

Token Management Service 公开其 API 以实现以下任务:

  • 以租户的名义为特定应用版本签发令牌。
  • 提供授权访问应用的用户租户列表。

限制

  • 此服务对每次请求签发的访问令牌不超过5个。
  • 此服务对每次请求最多只返回100个租户id,并且不支持分页。

示例场景

某操作员希望在 MindSphere 在线商店上架一款应用,该应用自动预计算 KPI 并为购买该应用的租户安排数据处理日程表。操作员注册其应用以使用 Token Management Service,从而实现无需用户操作即可访问租户的数据。


Last update: March 22, 2023