使用AWS IAM的临时凭证

NSA*_*ict 3 php xcode objective-c amazon-s3 amazon-web-services

我有一台服务器,它应该为客户端提供临时AWS凭证.凭证将使用HTTPS传输.

客户端应该能够上传S3文件,并下载它们.我担心的是:

我有多个用户只访问他们自己的目录:/Users/someUser/myfile.png

您可以将策略设置为允许或拒绝S3,但您不能仅授予对特定路径的访问权限.

我该怎么办?HTTPS传输是否足够?

然后我的第二个问题.如果我听到"临时凭证",我会记住一个密钥,这个密钥有效几个小时然后到期.但我不确定IAM是否真的是为此而建的.我应该为所有用户提供相同的凭据吗?或者我为每个客户生成一个密钥对?

服务器使用PHP运行,客户端使用Objective-C.

小智 7

您可以在Amazon S3中指定路径的权限.有关更多详细信息,请参阅以

使用IAM策略

此外,如果要创建"临时凭证",可以使用AWS Security Token Service.此服务允许您创建持续1到36小时的凭据,并且您可以对这些凭据设置策略以限制其访问.有关服务的更多详细信息,请参阅:

安全令牌服务API参考

最后,有一篇为AWS Mobile SDK编写的文章,它做了类似的事情.它有一个服务器,可以向使用Amazon S3存储桶的用户颁发临时凭证.它将用户限制为存储桶的"子文件夹",并限制其操作.你可以在这里阅读和这个样本:

移动应用程序的凭据管理

希望这有助于您获得所需的信息.