授予对整个目录的预签名样式URL访问权限

jol*_*uss 8 amazon-s3 amazon-web-services node.js access

我有一个节点应用程序并使用aws-sdk我能够成功调用getSignedUrl()方法并获取特定文件的URL.

但是,我希望能够在特定目录中递归地授予*访问权限,而不仅仅是单个文件.

这甚至可能吗?

Joh*_*ein 6

一个预签名URL允许访问存储在Amazon S3私有对象.它是一种保持对象安全的方法,同时授予对特定对象的临时访问权限.

它是通过基于对象路径,到期时间和属于具有访问Amazon S3对象权限的帐户的共享秘密访问密钥的哈希计算创建的.因此,每个预签名URL 对于每个对象都是唯一的,并且不能充当整个目录的通配符.

一些替代品:

  • 通过Bucket Policy 授予对子目录中所有对象的公共访问权限.这意味着对象不再是私有的,但它是"发布"一个或多个目录或对象的最简单方法.
  • 通过API访问而不是计划URLS,其中包括可以链接到在身份和访问管理(IAM)中创建的用户的凭据的传递.这将涉及使用诸如AWS命令行界面(CLI)之类的工具来检索对象而不是Web浏览器,并且具有可以同时复制多个对象的好处(就像普通cp命令一样).

另请参阅:AWS CLI复制命令