我正在使用Amazon Cognito和AWS IoT进行概念验证,我需要一些帮助。我把一切都搞定了,我只需要锁定一切。我的Cognito用户池是我的身份池唯一的身份验证提供程序。
我想根据用户池中用户的自定义属性来限制可以订阅的IoT主题。这可能与IAM角色有关吗?我已经可以通过在角色中输入主题过滤器来限制它,我只需要知道是否有可以在那里使用的变量。
对于我的用例,应用程序可以让多个组织使用该应用程序,每个组织完全相互分离,但使用相同的代码和基础结构。我希望我可以在用户上指定组织ID,然后要求所有主题在开始时都拥有用户的组织ID。
我认为我所寻找的是超出IAM角色所能做的,但我想先检查一下。
答案 0 :(得分:3)
自定义属性不会直接在IAM策略中作为策略变量公开。
我认为您可以在Cognito用户池中使用Group support。您可以将来自不同组织的用户分配给该组织的组。分配给这些组中的每个组的IAM角色可以是您锁定的IoT策略的角色。
使用联合身份和用户池integration,您可以获得用户的临时AWS凭据。使用Cognito Federated Identities中的role based access control功能将确保使用分配给用户所属的Cognito用户池组的角色来假设凭据。
希望这有帮助。