如何设置S3上载的可见性(读取)权限

时间:2017-01-29 06:59:14

标签: amazon-web-services amazon-s3 permissions

使用亚马逊的S3存储,是否可以将图像设置为只能供应用程序的特定用户查看?

我看过Jonathan Leffler,但我似乎无法找到我正在寻找的东西。

有关policy generator的一些信息听起来很相关。我可以通过签名的URL或IAM用户实现这一目标吗?理想情况下,应用程序的用户不必创建AWS账户。

1 个答案:

答案 0 :(得分:0)

默认情况下,Amazon S3中的所有对象都是私有的。然后,您可以添加权限,以便人们可以访问您的对象。这可以通过以下方式完成:

  • 各个对象的访问控制列表(ACL)权限
  • 一个存储桶政策
  • IAM用户和群组
  • 预签名网址

鉴于您希望授予应用程序用户的访问权限,推荐的方法是预签名网址

Pre-Signed URL 可用于授予对S3对象的访问权限,作为“覆盖”访问控制的一种方式。通过附加到期时间和签名,可以通过URL访问通常的私有对象。这是向用户提供私有内容的好方法,无需在IAM中定义每个用户。 (建议仅将IAM用于员工,而不是应用程序用户。)

可以从几行代码生成预签名的URL。一种快速的实验方法是使用AWS Command-Line Interface (CLI),它具有aws s3 presign命令。

请参阅:AWS CLI aws s3 presign documentation

在各种编程语言中,所有AWS SDKs都有相应的命令。