全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
消息队列 MQ

MQTT Token 服务简介

更新时间:2018-01-23 21:00:35

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 相关的请求
本文导读目录