通过REST API访问AWS s3图像

时间:2018-02-18 03:20:57

标签: amazon-s3

我正在寻找在S3 S3中没有帐户的第三方访问AWS S3时需要遵循的最佳实践的解决方案。

在我的情况下,有REST接口需要提供图像链接。这些图像驻留在AWS S3上。根据调用者的身份,我们可以通过这种方式授予用户访问权限。我不想让存储桶的访问级别公开。

假如我们收到来自用户X的电话(可能是我们要求他们设置新的标题)我们允许他们访问存储桶。

由于此API是企业版,并且我们有合作伙伴使用此API,因此我们只希望一些已识别的呼叫者能够访问这些图片。

任何指针都会有很多帮助。

1 个答案:

答案 0 :(得分:1)

Signed S3 URL's,如果API在EC2,lambda等上运行,则只能通过IAM role访问您的API。

您的API将执行身份验证和授权,然后向调用者提供已签名的s3网址以下载图像。

为对象创建预签名URL时,必须提供安全凭据,指定存储桶名称,对象密钥,指定HTTP方法(下载对象的GET)以及到期日期和时间。预签名URL仅在指定的持续时间内有效。

  

任何收到预签名网址的人都可以访问该对象。对于   例如,如果您的存储桶中有视频,而且存储桶和存储桶都有   该对象是私有的,您可以与他人分享视频   生成预签名网址。