更多的是设计问题/探索选项-我有一个Firebase实时数据库支持的项目,其中我有一个IOT类设备(ESP32),定期测量环境条件并将数据存储在数据库中,以及一个用户用来将设备与他们的帐户相关联、查看数据和更新设备设置的应用程序。
我的问题是关于物联网设备的最佳设置-我现在让他们都使用一个单一的服务帐户访问数据库和插入新的读数。我担心这可能会使项目面临安全问题,而且没有办法限制单个设备的安全优势。
另一种选择是为每个设备创建单独的用户帐户(每个设备都必须使用自己的唯一id注册自己)。这将允许每个设备被单独禁用,并通过为数据库定义的安全规则操作,但会导致auth db和更复杂的物联网设备代码中有更多的用户。
我从上面漏了什么吗?有没有人做过类似的事情,并能提供一些设计洞察力?
发布于 2021-11-10 03:48:04
目前,我让他们都使用一个单一的服务帐户访问数据库和插入新的读数。
您应该只在受信任的环境中使用服务帐户,因为它们完全不受限制地访问您的Firebase项目。在所有其他场景中,考虑常规的SDK,比如非特权Node.js SDK,它非常适合在IoT设备上使用。
https://stackoverflow.com/questions/69907688
复制相似问题