繁体   English   中英

是否在Amazon Web Services S3中确保存储桶和资源访问?

[英]Securing bucket- and resource access in Amazon Web Services S3?

我的网站上有一个上传表单,每个登录的用户都可以上传视频。 上传视频时,我会在存储桶中使用随机名称生成一个新文件夹,所有上传的视频都放置在该文件夹中。 我想以某种方式将访问权限限制为仅上传视频的用户。 建议的方法是什么?

我读到您可以以编程方式创建IAM(AWS身份和访问管理)用户:

视频“ AWS IAM简介”中提到,您可以限制每个IAM用户对AWS资源的访问:

这是一个好方法吗?

我对方法的想法:

  • 只有登录的用户才能上载。 他们在我们的数据库中有一个帐户
  • 我们需要以某种方式将数据库用户连接到IAM。 在数据库中存储内容?
  • 当用户尝试上传视频文件时,请检查数据库中的用户记录是否具有IAM标识,如果没有,则创建一个
  • 以某种方式存储用户有权访问哪些AWS S3资源。 做这个的最好方式是什么?

更多问题:

  • 在AWS S3上仅用一个存储桶就足够了吗?或者我需要每人一个吗
  • 我是否真的需要创建IAM用户来限制访问,还是可以通过其他方式进行?

Cognito身份池非常适合这种情况。 对于授权角色,为其提供一个类似于以下内容的策略:

{
    "Sid": "Access User-Specific Folder",
    "Effect": "Allow",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/${cognito-identity.amazonaws.com:sub}/*"
}

这将用户限制为仅包含与您的身份池中的唯一ID名称相同的文件夹中的对象。 此方法仅使用一个存储桶。

每当您考虑以编程方式为每个用户创建自定义IAM角色或为每个用户创建不同的存储桶时,答案就是使用Cognito身份。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM