上云无忧 > 文档中心 > 百度智能云物联网核心套件 IoT Core - 应用权限
物联网核心套件 IoT Core
百度智能云物联网核心套件 IoT Core - 应用权限

文档简介:
概述: 一般情况下,设备与 IoT Core 进行连接之后,需要在服务端开发对应业务系统以查看、管理、控制设备相关数据。应用权限即是用于满足此场景下鉴权需求的功能。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

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

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

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

前提条件

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

操作步骤

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

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

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

鉴权字符串生成算法

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

用户名 username

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

其中:

- iotCoreId:连接对应项目
- AppKey:即 AccessKey 上文描述IAM AK/SK标识唯一AK字段
- 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")

其中:

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

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

其中:

•SHA256HEX:表示计算使用HMAC SHA256哈希算法对signKey和canonicalRequest进行计算。
•{signKey}:计算signKey得到的值
•{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 签名工具进行计算试用或者验证。具体字段填写方法如下:

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

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

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部