如何解决如何从其他Cognito用户池访问受S3保护的文件?
我有一个Cognito用户池(叫它UP1)。该池中的用户使用Amplify将受保护的文件上传到S3。 现在,我在管理员端有了另一个用户池(UP2)。但是,使用已登录UP2的用户(也通过放大),由于我总是收到HTTP 403,因此无法访问用户在UP1中上传的S3文件。
分配给UP2的IAM角色必须能够对该S3存储桶执行任何操作(到目前为止没有运气)。
这是政策
{
"Statement": [
{
"Action": [
"*"
],"Resource": [
"<bucket_arn/*>"
],"Effect": "Allow"
}
]
}
以及使用Amplify从UP2中的用户访问UP1文件的方式
Storage.list('<somepath>/',{
level: 'protected',identityId: '<identityId of the User from UP1>',}
我是否缺少某些东西以便列出和获取此存储桶中的文件?有可能吗?
或如何为UP2中的用户赋予“特殊”权限,使我可以访问这些S3文件。
谢谢!
解决方法
已解决。
对不起,我错误地配置了IAM策略。我以为通配符本身就可以利用所有子资源(包括它本身)来解决问题。
我正在执行ListBucket动作,该动作的资源必须为Bucket本身(而不是其子代)。但是,为了避免使用通配符并更好地控制资源,我遵循guide(我以前没有读过,ups)并看了其中规定的政策。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。