【问题标题】:How does an "account" work with AWS Identity Token Vending Machine?“账户”如何与 AWS Identity Token Vending Machine 配合使用?
【发布时间】:2014-08-20 04:30:01
【问题描述】:

我已按照这篇文章http://mobile.awsblog.com/post/Tx371Y7CA0QJ95X/Simplifying-Token-Vending-Machine-Deployment-with-AWS-CloudFormation中的说明进行操作

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

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

所以我的问题是如何将现有的基于 REST 的 iOS 应用程序与身份令牌自动售货机集成以将照片上传到 S3?如何在不让用户在注册我的应用程序的基础上单独为身份令牌自动售货机创建“帐户”的情况下集成它?

【问题讨论】:

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


    【解决方案1】:

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

    请参阅IAM Roles documentation 的“身份联合”和“Web 身份联合”部分

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-13
        • 2017-01-07
        • 2015-12-22
        • 1970-01-01
        • 2019-11-02
        • 2019-01-23
        • 2022-11-16
        • 2023-04-05
        相关资源
        最近更新 更多