我有一个S3存储桶,默认情况下是私有的。 现在,我想对该存储桶的对象实施访问控制。
例如,如果存储桶具有三个对象A,B,C,则对象A,B可以是公共的,而对象C可以是私有的。
应该可以从应用程序中将公共对象设为私有,反之亦然。私有对象只能由选定的应用程序用户访问,而公共对象则可以由所有人访问。
有什么办法可以实现吗?
到目前为止,我已经研究了object tagging。但是我不确定它是否适用于我的情况。
答案 0 :(得分:0)
您是正确的,默认情况下Amazon S3中的对象是私有的。
然后您可以通过几种方法授予访问权限:
因此,您当然可以将特定对象设为“公共”,然后使用ACL将其更改为“私人”。
要使特定对象可供特定用户访问,您应使用预签名URL 。它们的工作方式如下:
<a>
标记或<img>
标记中。就像Internet上的任何其他资源一样,可以在有限的时间内访问该对象。这样,您的应用程序将完全控制谁可以访问哪些对象,并且授权用户可以直接从Amazon S3访问对象。此外,应用程序用户不需要特定于AWS的登录名;他们将对您的应用程序进行身份验证。
请参阅:Share an Object with Others - Amazon Simple Storage Service