将S3与自定义用户管理集成

时间:2018-02-26 15:35:26

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

我们正在构建一个自定义应用程序(使用LoopBack),需要存储来自多个用户的许多大文件,因此我们自然而然地在查看S3。我们之前做过类似的事情,客户将文件上传到服务器,然后在一个AWS账户下处理并上传到S3,但是对于这个新应用,我们希望允许客户端(使用自定义) iOS app)使用iOS S3 SDK直接上传到自己的存储桶或文件夹。将在服务器上创建用户帐户。

有没有办法使用自定义代码处理S3身份验证/授权?例如,iOS客户端是否可以请求临时令牌,允许他们上传到特定的S3存储桶或文件夹?或者我们是否需要为系统中的每个用户创建唯一的IAM用户?

这是一个糟糕的主意吗?这听起来像个糟糕的主意。 :)

我发现了一个类似的问题here,但没有确定的答案。

更新:我发现有关临时安全凭证的this文章非常有前途。如果构建移动应用程序,它还建议使用我从未使用过的Cognito。

1 个答案:

答案 0 :(得分:1)

Cognito是要走的路。你绝对不应该为此创建IAM用户。 IAM用于以编程方式或从控制台管理对aws服务的访问。此外,您需要在ios应用程序中对IAM访问密钥进行硬编码,这不是最佳做法。

https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html