按用户属性限制 IoT 主题

Restrict IoT Topic By User Attribute

我正在使用 Amazon Cognito 和 AWS IoT 进行概念验证,我需要一些帮助。我一切正常,我只需要锁定一切。我的 Cognito 用户池是我的身份池唯一的身份验证提供程序。

我想根据我的用户池中用户的自定义属性限制可以订阅的 IoT 主题。 IAM 角色可能吗?我已经可以通过在角色中输入主题过滤器来限制它,我只需要知道是否有我可以在那里使用的变量。

对于我的用例,应用程序可以有多个组织使用该应用程序,每个组织彼此完全分开,但使用相同的代码和基础设施。我希望我可以在用户上指定组织 ID,然后要求所有主题在开始时都具有用户的组织 ID。

我认为我正在寻找的东西远远超出了 IAM 角色所能做的,但我想先检查一下。

自定义属性不会直接在 IAM 策略中公开为策略变量。

我认为您可以为此使用 Cognito 用户池中的 Group support。您可以将来自不同组织的用户分配到该组织的组。分配给其中每个组的 IAM 角色可以是具有锁定 IoT 策略的角色。

使用 Cognito 联合身份中的联合身份和用户池 integration you can get temporary AWS credentials for your users. Using the role based access control 功能将确保使用分配给用户所属的 Cognito 用户池组的角色来假定凭据。

希望对您有所帮助。