Amazon web services 使用请求者按照预先签署的URL付费?

Amazon web services 使用请求者按照预先签署的URL付费?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我们有很多非常大的数据集需要分发。订阅者可以要求提供数据集,然后下载: 通过一个即将过期的URL,它不会继续被非法传播 请求者支付传输费用,因为我们的一些数据集的字节数在300GB-1TB之间,或者如果他们下载多次,我们将无法维持收支平衡 基本上,我们需要请求者为临时URL的带宽/传输付费 在我们为我们的bucket启用了请求者付费后,它似乎只适用于普通对象URL 即使请求者没有给出x-amz-request-payer:requester,预签名的URL也可以工作 有没有办法让请求者为预先签名

我们有很多非常大的数据集需要分发。订阅者可以要求提供数据集,然后下载:

  • 通过一个即将过期的URL,它不会继续被非法传播
  • 请求者支付传输费用,因为我们的一些数据集的字节数在300GB-1TB之间,或者如果他们下载多次,我们将无法维持收支平衡
  • 基本上,我们需要请求者为临时URL的带宽/传输付费

    在我们为我们的bucket启用了请求者付费后,它似乎只适用于普通对象URL

    即使请求者没有给出
    x-amz-request-payer:requester
    ,预签名的URL也可以工作

    有没有办法让请求者为预先签名的URL付费,以便这两个功能一起工作?

    在“请求者付费”中的“请求者”指的是拥有用于生成签名URL的凭据的AWS帐户。。。不是使用签名URL的人


    除非您的客户也是AWS客户,并且知道如何生成“请求者付费”签名,否则它并不真正适用于您描述的应用程序。

    因此,我想没有办法真正保护我们免受下载滥用?请求者付费+预签名URL的组合不起作用。要使用“请求者付费”,请求者必须拥有自己的AWS帐户,从该帐户发出请求,并为数据传输收取费用。相反,预签名的URL是由有权访问该对象的人生成的,并提供给无权访问该对象的人。访问该对象的人是匿名的,因此无法对其计费。另一种选择是创建一个临时文件,允许用户通过“请求者付费”下载该文件,然后在n分钟后将其删除。@JohnRotenstein这是一种方法,但如果我们的数据有大量下载者,则可能会产生额外的账单。糟糕的是S3不处理符号链接。相关:(预签名URL的创建者付费)