在通过API网关调用lambda时使用IAM控制AWS Cognito用户的访问?

时间:2017-07-02 07:42:59

标签: amazon-s3 aws-lambda aws-api-gateway amazon-cognito amazon-iam

我的网络应用程序针对AWS Cognito对用户进行身份验证,以获取临时凭据。基于标准信任关系,授予对API网关("Resource": "arn:aws:execute-api:*:*:*")和s3("Resource": ["arn:aws:s3:::bucket_name/*"])的访问权限。

在s3中,我有多个对象需要根据用户购买来控制访问。因此,一个用户可能只能访问对象A和C,另一个用户只能访问B和C.

还有一个API端点返回存储桶的内容,它还需要知道用户权限,因为它应该隐藏用户不允许查看的对象,并且应该标记对象只读的。

我一直在玩lambda中访问cognito身份标识,但由于对象无法通过lambda上传,我需要允许一些直接访问s3。所以我真的需要一个基于IAM的解决方案 - 我相信......

所以我的重要问题是,如何从一个具有信任关系的IAM角色转变为控制每个用户的访问权限?

更新

用户购买实际上还没有存储在某个地方,因为我仍然需要找出最适合他们的地方。因为我已经有了发电机DB,所以看起来很合适。

0 个答案:

没有答案