默认情况下,所有对象和桶都是私有的。但是,您可以使用预签名 URL 选择性地共享对象,或者允许客户/用户将对象上传到桶,而无需 AWS 安全凭证或权限。
您可以使用预签名 URL 生成可用于访问 Amazon S3 桶的 URL。创建预签名 URL 时,将其与特定操作相关联。您可以共享 URL,任何有权访问该 URL 的人都可以像原始签名用户一样执行嵌入在 URL 中的操作。URL 在达到其过期时间后会过期且不再起作用。
谁可以创建预签名 URL
具有有效安全凭证的任何人都可以创建预签名 URL。但对于成功地访问对象的人来说,必须由拥有执行预签名 URL 所基于的操作权限的人创建预签名 URL。
下面的凭证可用于创建预签名 URL:
IAM 实例配置文件:有效期最多 6 小时。
AWS Security Token Service:在使用永久凭证(例如,AWS 账户根用户 或 IAM 用户的凭证)签名时,有效期长达 36 小时。
IAM 用户:在使用 AWS 签名版本 4 时,有效期长达 7 天。
要创建有效期长达 7 天的预签名 URL,请先为所使用的开发工具包指定 IAM 用户凭证(访问密钥和秘密密钥)。然后,使用 AWS 签名版本 4 生成预签名 URL。
Simple Storage Service (Amazon S3) 何时检查预签名 URL 的到期日期和时间?
在发出 HTTP 请求时,Simple Storage Service (Amazon S3) 会检查签名 URL 的到期日期和时间。例如,如果客户端刚好在过期时间之前开始下载大型文件,即使在下载过程中到了过期时间,该下载也应该会完成。如果连接断开,并且客户端试图在过期时间到期后重新开始下载