限制特定网站用户访问 S3 存储桶文件夹?(不使用 IAM 用户)

Dor*_*ora 4 database amazon-s3 amazon-web-services amazon-iam

我有一个网站,用户需要登录。他们可以上传和删除自己的图片,但这些图片应该是私人的,所以图片没有设置为任何人都可以查看的公开。

我知道我们可以使用 IAM 策略将 S3 存储桶中不同文件夹的访问权限限制为不同的 IAM 用户。但是网站用户只是数据库中记录的普通注册用户(可能是MySQL),他们不是IAM用户。

在不需要每个网站用户的 IAM 用户的情况下进行设置的逻辑是什么?有什么好的例子可以推荐吗?或者我想太多了,有更简单的方法来设置这种限制?

在此先感谢您的任何建议。

MLu*_*MLu 5

您当然不需要每个网站用户都有一个IAM用户,这是无法管理的。

推荐的方法是使用AWS Cognito根据您的用户池(即数据库中的用户列表)进行用户身份验证。Cognito 将代表您处理登录、注销、密码重置等操作,一旦用户通过身份验证,它将获得一组临时 AWS 凭证,使其可以访问定义的资源,在您的情况下可以访问S3 存储桶中的某些文件夹.

允许 Cognito 用户访问其 S3 存储桶中的对象中详细描述了详细信息- 这可能正是您所需要的。

作为使用 Cognito 的奖励,可以很容易地启用社交媒体帐户登录 - Facebook、Google 等登录。请参阅将社交身份提供者添加到用户池

希望有帮助:)