在与 Google Cloud IoT Core 交互时限制用户对 IoT 项目的访问

Limit user access on IoT project while interacting with Google Cloud IoT Core

所以,我正在开发一个用于商业目的的自动照明系统,我打算使用 Google Cloud IoT Core 来管理设备通信。

用户将使用智能手机上的应用程序来管理家中的灯光。他们将在应用程序上创建一个帐户并注册这些灯。然后他们就可以控制他们的亮度等

我的问题是:如何在 Google Cloud IoT 上构建我的项目以限制用户访问他们自己的设备,以防有人恶意修改我的智能手机应用程序(最坏的例子)?

在 Google Cloud IoT 上,我们有以下结构:

Project > registry > device

由于注册表数量限制为 100,因此为每个用户创建 1 个注册表不是一个可行的解决方案。

我考虑过使用应用程序的后端作为 Google 云和应用程序之间的中间件,但使用它会使数据流量增加一倍,实质上使项目维护成本增加一倍,而且后端必须更强大才能处理流量:

这将是充当中间件的后端:

User > App > Backend > Google Cloud IoT > Backend > App

这将是我想要的结构,但我不知道是否可行:

User > App > Google Cloud IoT > App

有什么办法吗?

这只是一个账户管理。您的用户登录,您检索帐户和链接到它的设备列表,然后用户可以与他们交互。这样,您可以拥有多个可以与同一帐户的设备进行交互的用户。

您可以将授权数据列表(用户的设备)存储在数据库中,例如 Firestore。并使用 Cloud Identity Platform 对用户进行身份验证(它与 Firebase Auth 非常相似,如果您使用移动应用程序,对您来说会更容易)