全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

MQTT Token 服务简介

更新时间:2017-08-25 14:15:39

MQTT 通过 Token 鉴权服务向 MQTT 客户端提供短期访问权限。通过 MQTT Token 服务可以给本地账号系统管理的用户颁发临时的访问凭证,并限制访问权限,以实现对单一客户端,单一资源的细粒度权限控制。

访问 MQTT 资源的权限认证一般分为以下两个场景。

  • 场景一:使用 MQTT 的业务方单一,所有 MQTT 客户端运行的环境可控,逻辑意义上都属于一个账号。
  • 场景二:用户自己有本地账号系统,需要对阿里云账号的身份做二次拆分,所有 MQTT 客户端可能隶属于不同的本地账号范围。

针对场景一,因为在业务层面上,所有使用 MQTT 的场景都归属于一个账号,所以没有必要再做身份的识别和划分。使用 MQTT 默认的权限控制系统即可,即所有客户端直接配置阿里云账号的 AccessKey 和签名即可识别身份。

针对场景二,因为运行的 MQTT 客户端程序虽然隶属于同一个阿里云账号,但是还需要有本地账号(业务部门或者单一客户端)的角色区分。此时场景一划定的阿里云账号维度就无法满足。特别是在移动端场景,客户端面临破解劫持的风险,因此权限控制需要细化到单一客户端,且权限粒度需要细化到单一资源,而非账号维度。

MQTT Token 服务即用来解决上述场景二的需求。用户作为本地账号管理者,为实际客户端申请临时访问凭证(Token),客户端使用临时凭证来做实际的业务访问。Token 代表单一客户端的临时身份,由业务管理者指定该 Token 所拥有的权限、资源列表和访问类型。具体名词解释如下:

术语 中文名称 说明
Token 临时凭证 MQ 颁发的临时访问凭证,代表单一客户端对特定资源的访问权限
AppServer 应用服务器 用户管理本地账号的服务器,用来替客户端申请和管理 Token 服务的应用
AuthServer 认证服务器 MQ 权限认证服务器,用来处理 AppServer 发起的 Token 相关的请求
本文导读目录