2017-09-06 95 views
1

我是新的AWS平台。我正在尝试为使用AWS lambda,API网关和DynamoDB的移动设备构建后端,同时使用Cognito和Facebook进行身份验证。AWS DynamoDB与用户标识混淆

用户登录到应用程序,应该能够进行数据保存。这应该作为用户ID(我应该从Cognito得到这个)data1,data2,data3保存在表中。这只属于这个。假设这些是用户的活动。

当他登录时,他应该能够看到他输入的数据。

我一直在寻找例子,我想出了这个链接关于细粒度的访问控制,其中表与特定用户分开并且被许可。

https://aws.amazon.com/blogs/mobile/dynamodb-on-mobile-part-5-fine-grained-access-control/

这听起来并不正确。在常规的以RDBMS为中心的应用程序中,应用程序使用连接字符串中的特定用户连接到数据库。用户特定的数据通过使用“username = user_id”实时构建的查询返回给用户。

这是上面的链接说什么不同?

我很困惑。

感谢您的时间!

回答

1

我相信您链接的文章正在讨论允许应用程序通过直接调用AWS API而不是通过后端应用程序层直接访问DynamoDB。它使用IAM策略中的变量仅允许用户对包含其ID作为主键的表执行查询。

在您的情况下,AWS Lambda函数是您的后端应用程序层。您可以简单地将IAM角色分配给Lambda函数,以允许其查询DynamoDB表中的所有记录,并使用UserID作为查询键在Lambda函数中构建查询。