我想为一个无服务器应用程序构建一个AWS架构,该应用程序将文件存储在DynamoDB中。
此数据库存储与给定周长相关的数据。另一方面,我有数据(M:N链接),它将我的应用程序的用户链接到一些外围。
我想确保我的用户(通过一个联邦OIDC提供者在Amazon上进行身份验证)只访问与他们的一个周长相关的数据。
发布于 2019-10-15 10:10:03
您可以添加一个表
UserPerimeter
---
id (hash key)
userId (index - hash key)
perimeterId作为Lambda中验证的一部分,您可以使用JWT/Cognito中的用户id对索引进行查询。这将检查他是否有权访问所请求的参数。因此,基本上保护您的DB不受您的代码(这是唯一的访问点)。
您可以通过IAM实现这一点,(请查看这个文章),但是它增加了太多的复杂性,不适合我的口味。如果DB被多个产品/组件/公司使用,这将是有用的(无论如何,这不是一个很好的实践)。
https://stackoverflow.com/questions/58392037
复制相似问题