使用 amazon sdk 和存储桶策略从 ios 应用程序将图像上传到 amazon s3

Posted

技术标签:

【中文标题】使用 amazon sdk 和存储桶策略从 ios 应用程序将图像上传到 amazon s3【英文标题】:Uploading images to amazon s3 from ios app using amazon sdk and bucket policy 【发布时间】:2014-12-19 21:00:19 【问题描述】:

我无法使用他们最新的 sdk 从我的 ios 应用程序将图像上传到 amazon s3。如何在不使用他们的 cognito 服务的情况下上传图片?例如,我的网站中有一个api,它返回以下信息


"success": true,
"data": 
    "policy":   "some policy",
    "signature": "a signature",
    "key": "a key"
    

现在我的问题是,即使没有在 amazon sdk 的示例应用程序中设置那些 Cognito 凭据,我如何使用上述信息上传到存储桶(假设我知道存储桶名称)?

谢谢

【问题讨论】:

【参考方案1】:

1 否决票

我建议不要在没有 Cognito 的情况下在 Moblie 应用程序中使用 AWS。

如果您仍想这样做,您可以为您的存储桶资源创建一个 IAM 用户集策略,并将 IAM 用户凭证放入您的代码中

AWSStaticCredentialsProvider *credentialsProvider = [AWSStaticCredentialsProvider credentialsWithAccessKey:@"YourAccessKey" secretKey:@"YourSecretKey"];

【讨论】:

注意这个方法使用起来很危险!!您可以改为设置 AWS S3 存储桶权限策略。 问题不是如何不安全,而是如何使用后端签名策略上传,避免使用 Cognito

以上是关于使用 amazon sdk 和存储桶策略从 ios 应用程序将图像上传到 amazon s3的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 PHP SDK 在 Amazon S3 存储桶下创建文件夹?

Amazon S3 存储桶策略只允许访问特定的 http

Amazon S3 存储桶策略,我做错了啥?

如何使用scala和aws-java-sdk从S3存储桶中获取所有S3ObjectSummary?

Amazon S3 存储桶策略:如何锁定仅访问您的 EC2 实例

Amazon S3 存储桶策略引用