首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何允许Cognito用户池用户删除S3中的对象?

如何允许Cognito用户池用户删除S3中的对象?
EN

Stack Overflow用户
提问于 2019-12-15 23:57:30
回答 1查看 191关注 0票数 0

我的移动应用程序使用AWS Amplify,并且我在项目中有一个Cognito用户池和一个S3存储桶。用户可以将对象放入存储桶中,但不能删除。我想要做的是让每个登录的用户能够删除存储桶中的文件。

文件的路径例如为:my_bucket_name/protected/eu-west-2:de55c2rf-8f1e-836d-88f9-82da662aau6dt/videos/video1

为了删除,我称之为:

代码语言:javascript
复制
import { Storage } from 'aws-amplify'; 
import Amplify, { Auth } from 'aws-amplify';

。。。

代码语言:javascript
复制
delFromS3 = async () => {
      Storage.remove('protected/eu-west-2:de55c2rf-8f1e-836d-88f9-82da662aau6dt/videos/video1')  
         .then(result => console.log('Deleted Video from S3'))
         .catch(err => console.log('Deleting video from S3 error: ', err));
  }

因此,我需要一种方法来允许cognito用户池中的用户被授权删除对象。或者因为我手动知道每个用户子存储桶(例如/protected/eu-west-2:de55c2rf-8f1e-836d-88f9-82da662aau6dt/videos/video1)中文件的路径,所以只需在我的delFromS3()函数中传递该路径。我不认为这是一个桶政策问题。

或者,如果我需要使用身份池,如何允许现有用户池中的所有用户使用自动生成的身份池,以使他们能够在S3中删除?目前,用户使用Cognito通过Auth.signIn()进入用户池

EN

回答 1

Stack Overflow用户

发布于 2020-01-19 13:25:47

我会调用一个API,并在您的Lambda中检查安全性/它是谁,以及他们是否有权删除文件。您也许可以从策略中检查放大用户特征,但尚未尝试。

但是,如果将来需要,额外的api会为您提供另一层安全性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59345537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档