创建临时凭证以将文件上传到S3存储桶

时间:2020-05-17 13:28:16

标签: amazon-web-services amazon-s3

我需要验证客户端,然后生成临时凭证(有效期为几秒钟),使用该客户端可以在我的S3存储桶上上传文件。我无法为客户端创建用户。首先,我使用OAuth验证客户端,如果客户端有效,则需要启用它以将文件上传到S3。我知道有关预签名URL的方式,但我想知道还有另一种方式。

2 个答案:

答案 0 :(得分:1)

使用哪个客户端可以在我的S3存储桶上上传文件。
..
知道有关预签名URL的方式,但我想知道还有另一种方式

正如已经回答的,我看到两种方法。预先签名的网址或承担的IAM角色(例如,通过Cognito或自己/自定义身份代理)

存在显着差异。

使用前缀URL时,它允许客户端上载/更新S3中由URL定义的非常特定的对象。我喜欢这种方法,因为它简单易用,可以更好地控制到期时间,而且我也更安全(减少了管理权限的工作)

当使用假定的证书时,您可以为用户提供更多特权(例如,上传具有特定前缀的任何对象,标记该对象为..)。但是,您可能需要做更多的工作来管理权限和控制到期时间(假定角色凭据的默认生存期为15分钟,并且可以延长至12小时)。

首先,我使用OAuth验证客户端

仍然可以使用假定的(临时)身份创建一个预签名的网址

答案 1 :(得分:0)

您可以使用Amazon Cognito with OAuth。这将承担IAM角色并为您生成临时凭据。