# HanClouds最佳实践

在基于HanClouds搭建工业物联网应用时,综合考虑安全性、方便性,HanClouds总结了一些最佳实践。建议基于HanClouds开发工业物联网应用时遵循。

  1. 在HanClouds注册用户时,建议实名认证,实名认证过的用户,瀚云科技会重点保障,可以接入更多的设备,支持更多的并发连接。如果未认证,能接入的设备数量有一定限制。
  2. 注册用户后,原则上不要对外暴露用户级鉴权参数。用户级鉴权参数的权限太大,被非法泄露的后果很严重。如果必须把用户级鉴权参数给项目开发人员,请在项目开发完毕后,正式上线前在HanClouds控制台停用或者删除该鉴权参数,用其他鉴权参数替换。
  3. 设备接入时,需要把productKey、accessKey、accessSecret植入设备侧。当设备第一次注册成功后,请及时向HanClouds发送initAck消息,告知平台设备已经收到设备级鉴权参数,这样平台就不会再次把该设备的鉴权参数在网络上传递。
  4. 设备级鉴权参数原则上只有设备知道,不应告诉saas开发人员设备级的鉴权参数。saas开发按照功能需求,授予其对应的产品级鉴权参数。
  5. deviceType字段标识设备类别,但是在平台上未做强制性检查,在实施中,建议对同一类设备,其deviceType一致,方便后进行设备管理。
  6. 在安全性要求很高的场合,建议mqtt使用签名加密模式进行传递。
  7. 在进行签名时,需要时间参与计算,如果硬件设备没有计时器,HanClouds提供了查询服务器当前时间的API 查询当前时间,可以基于此时间进行签名计算。
  8. HanClouds后续可能会随着使用规模的扩大,而增加接入机的规模,在通过mqtt接入时,建议调用API 查询接入服务器IP,查询其应该接入的服务器。建议每次mqtt接入时,都查询该API。
  9. 建议在构建产品前,对数据流进行统一规划。HanClouds对数据流里数据点的格式有强制要求,相同数据流里的数据点格式必须一致。这主要是为了后续流计算考虑。建议在产品启动前,对数据流的名称、数据格式进行统一考虑 。