可以使用Amazon Cognito授予临时访问令牌/密钥/等,以便使用移动应用或网站来调用S3功能吗?
我希望非iam用户能够登录,进行身份验证,然后可以访问特定S3存储桶中的特定文件夹。
Cognito似乎只允许我使用identityId作为前缀,但每次都不是每个用户的相同ID,除非我弄错了。
我从他们的宠物店-lambda示例开始,并根据他们的identityId将其扩展为提供S3访问,但是我在第二天使用相同的用户登录并获得了完全不同的identityId ...
感谢,
答案 0 :(得分:0)
以下链接可能会有所帮助。
要考虑使用的另一件事是带有aws云前端的签名网址或cookie。我在一个侧面项目中使用了它,并且运行良好。它允许您将云前端URL放在私有s3存储桶前面,并且只有在有正确签名的URL时才允许访问。您也可以执行设置时间限制等操作。我不知道这是否与我的头脑中的认知有效。
答案 1 :(得分:0)
Cognito Identity每次都会为同一个经过身份验证的用户返回相同的身份ID,因此不应该发生这种情况。 在调用Cognito时,似乎没有正确设置登录映射,因为Cognito会将其视为unauth用户,并且当从设备缓存中清除Identity Id时,它最终会自动销售新的身份ID。