Amazon S3:无密钥访问

时间:2012-07-09 09:42:51

标签: ios api amazon-s3 photo bucket

我正在开发一款可以在Amazon S3服务器中保存图片的iOS应用。不幸的是,服务器的所有者不愿意给我他的秘密密钥。相反,他生成并提供了一个签名,他说我可以使用它来上传文件。

问题在于我无法找到执行此操作的方法。特别是使用Amazon S3示例" S3Uploader"。

你对此有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

只需要密钥来计算签名,所以如果你已有签名,则不需要它。但是,您需要访问密钥ID(以便亚马逊知道用于验证签名的密钥)。

我快速浏览了一下iOS sdk文档,看起来它们并没有提供一种短路签名计算过程的方法。上传文件很简单,你只需要发出一个PUT请求:

PUT /ObjectName HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Authorization: signatureValue
Content-Length: 1234

您可以在documentation中使用额外标题的详细信息。

另一个工作流程是,远程服务可以使用amazon STS api返回仅授权将文件上载到指定存储桶的临时凭证,而不是为您提供签名值。如果你走这条路,那么你就可以使用亚马逊提供的SDK。