aws的用户特定角色

时间:2015-12-28 22:25:19

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

可以使用Amazon Cognito授予临时访问令牌/密钥/等,以便使用移动应用或网站来调用S3功能吗?

我希望非iam用户能够登录,进行身份验证,然后可以访问特定S3存储桶中的特定文件夹。

Cognito似乎只允许我使用identityId作为前缀,但每次都不是每个用户的相同ID,除非我弄错了。

我从他们的宠物店-lambda示例开始,并根据他们的identityId将其扩展为提供S3访问,但是我在第二天使用相同的用户登录并获得了完全不同的identityId ...

感谢,

2 个答案:

答案 0 :(得分:0)

以下链接可能会有所帮助。

http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html#iam-policy-example-cognito

要考虑使用的另一件事是带有aws云前端的签名网址或cookie。我在一个侧面项目中使用了它,并且运行良好。它允许您将云前端URL放在私有s3存储桶前面,并且只有在有正确签名的URL时才允许访问。您也可以执行设置时间限制等操作。我不知道这是否与我的头脑中的认知有效。

答案 1 :(得分:0)

Cognito Identity每次都会为同一个经过身份验证的用户返回相同的身份ID,因此不应该发生这种情况。 在调用Cognito时,似乎没有正确设置登录映射,因为Cognito会将其视为unauth用户,并且当从设备缓存中清除Identity Id时,它最终会自动销售新的身份ID。