问题陈述: 我想通过移动应用从多个移动设备下载S3内容。
我遇到的解决方案。
解决方案1
解决方案2
然而,第一种方法的问题是我将不得不管理凭证服务器端。此外,有人可以轻松地回溯它并在应用程序外使用这些凭据来下载内容。
我完全不知道的第二种方法。但是,在AWS COGNITO服务的常见问题解答中,我没有找到任何解决方案,尽管它允许您阅读,删除内容并将其放入任何AWS服务。
我需要一个关于从移动应用程序安全下载S3内容的建议。
答案 0 :(得分:1)
Amazon Cognito和AWS Mobile SDK专为从移动应用程序下载存储在S3中的内容的用例而设计。您可以使用Cognito为应用的每个用户提供临时的,有限权限的AWS凭据。您可以让用户开始将您的应用作为未经身份验证的访客使用和/或使用社交登录或您自己的注册/登录服务进行身份验证。
要设置Cognito,请使用Cognito控制台创建标识池,该标识池是特定于您的AWS账户的用户标识数据的存储。 IAM角色定义用户访问AWS资源的权限,例如S3。您的应用程序的用户将承担您创建的角色。您可以为经过身份验证和未经身份验证的用户指定不同的角色。要了解有关Cognito中IAM角色的更多信息,请参阅IAM Roles。
当您访问Cognito Console时,向导将指导您创建身份池和必要的IAM角色。 Cognito(向移动应用程序用户发布AWS凭证)与其他AWS服务之间的集成在SDK的初始化中。在iOS,Android,Unity和JavaScript上使用Cognito初始化SDK的示例代码位于Amazon Cognito开发人员指南的Getting Credentials topic中。
AWS Mobile SDK开发人员指南(here for Android和here for iOS)中提供了从移动应用程序开始使用Amazon S3的分步指南。该指南将涵盖与S3相关的所有内容,包括在S3中使用存储桶策略配置必要的权限以及如何从移动应用程序上载/下载文件等。
请评论是否有任何我们可以做的事情来使这更清楚!