如何"帐户"使用AWS Identity Token Vending Machine?

时间:2014-06-29 19:12:22

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

我已按照此帖http://mobile.awsblog.com/post/Tx371Y7CA0QJ95X/Simplifying-Token-Vending-Machine-Deployment-with-AWS-CloudFormation

中的说明操作

我可以看到它在某种程度上有效,我理解TVM的整体概念以及为什么需要它,但是我仍然很难理解它在实用性方面是如何工作的。我在某处读了一篇匿名令牌自动售货机设计为只读的帖子,如果我想实际提供写访问权限,我需要使用身份TVM。

在演示应用程序中,它让我在我设置的cloudformation服务器上注册我的帐户,但我不知道如何使用我自己的网络应用程序。我有一个移动应用程序连接到rails应用程序,我需要用户上传他们的个人资料图片以及发布照片内容。除了与TVM的集成部分之外,我已经运行了应用程序(基本上我的aws凭据嵌入在亚马逊不推荐的应用程序中)

所以我的问题是如何将现有的基于REST的iOS应用程序与身份令牌自动售货机集成以将照片上传到S3?如何整合它而不会让用户单独创建一个"帐户"在注册我的应用程序之上的身份令牌自动售货机?

2 个答案:

答案 0 :(得分:0)

您的应用可以充当TVM,将您的用户身份映射到具有所需权限的IAM角色。然后可以使用STS上的AssumeRole调用为这些用户创建临时凭证。然后,您的应用会使用这些凭据创建一个S3Client对象,并使用它来上传照片。

参见"身份联合"和#34; Web身份联合" IAM Roles documentation

的各个部分

AWS Web Identity Federation Playground是一个很好的示例应用程序,可以在工作中看到它。

CoudFormation将自动创建,更新和删除AWS资源,包括EC2实例和IAM角色,但不会与用户身份验证直接相关。

答案 1 :(得分:0)

我们最近发布了Amazon Cognito,在许多情况下,特别是在“匿名TVM”案例中,它不再需要TVM。通过Cognito未经身份验证的访问,您可以向应用程序的用户授予对各种AWS资源的有限访问权限。 Cognito利用IAM角色和STS的现有功能来提供这些凭据。

如果要保持与现有后端身份验证解决方案的集成,则需要为应用程序生成并维护身份ID列表。您可以阅读有关我们API documentation

中涉及的API的更多信息