应用权限

物联网核心套件 IoTCore

  • 旧版文档
  • 产品定价
  • 功能发布记录
  • 产品描述
    • 产品概述
    • 产品优势
    • 核心概念
    • 系统限制
  • 快速入门
    • 使用规则引擎将设备消息流转到业务服务器
    • 创建设备
    • 操作演示
    • 获取连接信息
    • 快速入门流程
    • 创建 IoT Core 实例
    • 使用 MQTT 模拟器连接及收发消息
  • 典型实践
    • 数据转发到函数计算服务CFC
    • 数据转发到用户 Kafka
    • 设备状态数据存储到时序数据库TSDB
    • 数据转发到百度消息服务BMS
  • 服务等级协议SLA
    • 服务等级协议SLA(V2.0)
  • API参考
    • 设备管理
    • 概述
  • 常见问题
    • MQTT客户端及设备SDK相关问题
    • 使用选择
  • 开发者指南
    • 设备侧
      • 通过 IoT Core 官方 SDK 接入
      • 通过开源MQTT Client SDK接入
    • 服务侧
      • IoT Core 日志 SDK (Java)
      • 概述
  • 操作指南
    • 设备接入与管理
      • 应用权限
      • 创建设备
      • 设备影子
      • 管理模板
      • 共享订阅
      • 设备预配
      • 管理设备
      • 通过开放协议接入
        • 使用证书鉴权建立MQTT连接
        • 通过CoAP发布消息
        • 通过MQTT连接及收发消息
        • 通过HTTP发布消息
    • 实例管理
      • 修改实例
      • 创建实例
      • 停止及启动实例
      • 删除实例
    • 运维管理
      • 日志服务
    • 规则引擎
      • 常用查询语句示例
      • 数据目的地管理
      • 数据查询语法和函数
      • 操作步骤
      • 数据目的地
      • 数据筛选
      • 概述
所有文档
menu
没有找到结果,请重新输入

物联网核心套件 IoTCore

  • 旧版文档
  • 产品定价
  • 功能发布记录
  • 产品描述
    • 产品概述
    • 产品优势
    • 核心概念
    • 系统限制
  • 快速入门
    • 使用规则引擎将设备消息流转到业务服务器
    • 创建设备
    • 操作演示
    • 获取连接信息
    • 快速入门流程
    • 创建 IoT Core 实例
    • 使用 MQTT 模拟器连接及收发消息
  • 典型实践
    • 数据转发到函数计算服务CFC
    • 数据转发到用户 Kafka
    • 设备状态数据存储到时序数据库TSDB
    • 数据转发到百度消息服务BMS
  • 服务等级协议SLA
    • 服务等级协议SLA(V2.0)
  • API参考
    • 设备管理
    • 概述
  • 常见问题
    • MQTT客户端及设备SDK相关问题
    • 使用选择
  • 开发者指南
    • 设备侧
      • 通过 IoT Core 官方 SDK 接入
      • 通过开源MQTT Client SDK接入
    • 服务侧
      • IoT Core 日志 SDK (Java)
      • 概述
  • 操作指南
    • 设备接入与管理
      • 应用权限
      • 创建设备
      • 设备影子
      • 管理模板
      • 共享订阅
      • 设备预配
      • 管理设备
      • 通过开放协议接入
        • 使用证书鉴权建立MQTT连接
        • 通过CoAP发布消息
        • 通过MQTT连接及收发消息
        • 通过HTTP发布消息
    • 实例管理
      • 修改实例
      • 创建实例
      • 停止及启动实例
      • 删除实例
    • 运维管理
      • 日志服务
    • 规则引擎
      • 常用查询语句示例
      • 数据目的地管理
      • 数据查询语法和函数
      • 操作步骤
      • 数据目的地
      • 数据筛选
      • 概述
  • 文档中心
  • arrow
  • 物联网核心套件IoTCore
  • arrow
  • 操作指南
  • arrow
  • 设备接入与管理
  • arrow
  • 应用权限
本页目录
  • 概述
  • 前提条件
  • 操作步骤
  • 鉴权字符串生成算法
  • 用户名 username
  • 密码 password
  • 示例

应用权限

更新时间:2025-08-21

概述

一般情况下,设备与 IoT Core 进行连接之后,需要在服务端开发对应业务系统以查看、管理、控制设备相关数据。应用权限即是用于满足此场景下鉴权需求的功能。

此处的应用泛指非设备侧业务逻辑,可运行在服务器、手机或者其他位置。

使用应用权限对应的 AppKey 及 AppSecret 计算后的签名,同样可用于 MQTT 方式收发消息或 HTTP/S 方式发布消息。

前提条件

在 新增应用之前,您需要创建一个 高级模式 主题的“模板”,创建详情请参见创建自定义模板。

操作步骤

  1. 登录物联网核心套件控制台。
  2. 进入“实例列表”,点击 实例名称 ,进入实例详情页面。
  3. 在实例详情页面的左侧导航栏,在“设备管理”下选择 应用权限,进入应用权限列表页面。
  4. 点击 新增应用 ,进入新增应用页面填写配置信息:

    参数 说明
    名称
    AppKey 绑定 IAM Access Key,Appkey 与 IAM 账号 AK 保持一致,对应的 AppSecret 与 AS 一致。
    使用方式 选择“主题透传”或“设备影子”两种使用方式(当前仅开放“主题透传”方式的应用权限,后续会逐步开放影子模式)。
    模板 选择已创建的高级模式主题的模板
    描述 (选填)填写该应用的相关信息,便于后续应用管理。

image.png

  1. 填写配置信息后,点击 提交即可完成创建。
  2. 在应用权限列表页面点击创建后的应用名称,可查看应用对应的连接信息如下:

    image.png

鉴权字符串生成算法

使用应用权限连接 MQTT,需要根据要求组合username及计算password,具体计算过程如下。

用户名 username

bceiam@{iotCoreId }|{AppKey}|{timestamp}|SHA256

其中:

Plain Text
1- iotCoreId:连接对应项目
2- AppKey:即 AccessKey 上文描述IAM AK/SK标识唯一AK字段
3- timestamp:签名生成 unix 时间戳,单位为毫秒(ms)

密码 password

password 计算符合 IAM 签名算法计算要求,首先计算 signKey ,并根据 signKey 和固定值的 canonicalRequest 计算最终 signature(最终signature 即为 password,用于连接 MQTT)。

且其中,计算中 canonicalRequest 值为固定字符串 POST\n/connect\n\nhost:iot.gz.baidubce.com。

signKey计算:

SHA256HEX({secretKey}, "bce-auth-v1/{accessKey}/{normalTimestamp}/60")

其中:

Plain Text
1•SHA256HEX:表示使用HMAC SHA256哈希算法进行计算。
2•{secretKey}:IAM中AK/SK中的SK
3•{normalTimestamp}:上文计算username时的{timestamp}值按照“yyyy-MM-ddTHH:mm:ssZ”模式(转为 UTC 时间)进行处理后的字符串。

signature 计算: SHA256HEX({signKey},{canonicalRequest})

其中:

Plain Text
1•SHA256HEX:表示计算使用HMAC SHA256哈希算法对signKey和canonicalRequest进行计算。
2•{signKey}:计算signKey得到的值
3•{canonicalRequest}:取固定值 `POST\n/connect\n\nhost:iot.gz.baidubce.com`

计算得到的 signature 即为连接所需 password。

示例

例如,当前 IoT Core 的 ID 为aop098js;AppKey 为 7761E24FC8b9bee8703a5efb266d9c0,对应的 AppSecret 为 ABCxxxx1234567,当前时间戳为1600834787219

则拼接的用户名为:bceiam@aop098js|7761E24FC8b9bee8703a5efb266d9c0|1600834787219|SHA256

计算的密码为:1b937b1268d8943860038f2a4bec637e5370ded2e848289bee1594e30c600d39

此外,可以通过 IAM 签名工具进行计算试用或者验证。具体字段填写方法如下:

image.png

注意其中时间戳对应的为 UTC 时间。

计算得到的中间结果3 signature即为连接所需 password。

上一篇
开发者指南
下一篇
创建设备