从iOS App上传到Amazon S3

pkl*_*luz 19 upload amazon-s3 ios

让我们从问题陈述开始:

我的iOS应用程序有一个登录表单.当用户登录时,将调用我的API并授予或拒绝访问权限.如果授予访问权限,我希望用户能够将图片上传到他的帐户和/或管理他们.

作为存储,我选择了亚马逊S3,我认为最好有一个名为"myappphotos"的存储桶,其中包含大量文件夹.文件夹名称是用户电子邮件和密钥的哈希值.因此,每个用户在我的Amazon S3存储桶中都有自己独特的文件夹.

由于我刚刚开始使用AWS,这是我的问题:

设置这样的系统的最佳做法是什么?我希望用户能够将图片直接上传到Amazon S3,但当然我无法对访问密钥进行硬编码.因此,我需要我的API以某种方式与亚马逊交谈,并请求各种访问令牌 - 仅针对属于我正在请求的用户的特定文件夹.

任何人都可以帮助我和/或引导我找到解决类似问题的某些来源吗?不要以为我是第一个,而亚马逊的文档是如此广泛,以至于我真的不知道从哪里开始寻找.

非常感谢!

Ter*_*cox 13

您是否查看了适用于iOSAmazon AWS SDK

来自文档:

AWSiOSDemoTVM和AWSiOSDemoTVMIdentity示例演示了将AWS安全凭证传输到移动客户端的更安全机制.这些样本需要服务器应用程序,在这种情况下是令牌自动售货机(TVM),它作为单独的下载提供.示例应用程序向TVM注册,匿名或使用用户提供的用户名和密码.TVM使用AWS Security Token Service获取临时安全凭证并将其传递给移动应用程序.

TVM有两种形式,一种支持匿名注册,另一种需要用户名和密码来注册设备和接收安全令牌.要下载并安装用于匿名注册的TVM,请访问 http://aws.amazon.com/code/8872061742402990.要下载并安装用于身份注册的TVM,请访问 http://aws.amazon.com/code/7351543942956566.

身份验证的AWS移动应用程序与令牌自动贩卖机用户:

本文讨论了一种体系结构,该体系结构使运行在移动设备上的应用程序能够更安全地与Amazon Web Services进行交互,例如Amazon Simple Storage Service(S3),Amazon SimpleDB,Amazon Simple Notification Service(SNS)和Amazon Simple Queue Service(SQS) .讨论的体系结构使用"令牌自动售货机"将临时安全凭证分发给移动应用程序.

您的令牌可以限制对S3上特定存储桶的访问,因此它似乎是最佳选择.