【问题标题】:Restrict usage of S3 pre-signed URL to a particular account将 S3 预签名 URL 的使用限制为特定帐户
【发布时间】:2020-08-18 15:02:21
【问题描述】:

我有一个 S3 存储桶。我希望向另一个帐户(比如说帐户 A)提供一个预签名的 URL 以将数据上传到其中。有没有办法确保只允许账户 A 使用预签名的 URL 上传? 我想避免另一个(假设是帐户 B)使用预签名 URL(用于帐户 A)上传数据的情况。

【问题讨论】:

    标签: amazon-web-services amazon-s3 pre-signed-url


    【解决方案1】:

    预签名 URL 根本不是检查帐户。只要预签名 URL 的创建者具有上传权限,任何人都可以使用此 URL 进行更新。几乎是匿名 FTP 过去所允许的,但是以有时间限制的方式。这就是为什么您要创建仅持续几分钟的 URL,以便让您的客户有机会上传文件。

    https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html

    【讨论】:

      【解决方案2】:

      预签名 URL 在创建时使用提供的标头进行签名。当使用带有HTTP request 的预签名 URL 时,请求标头和预签名 URL 签名之间存在验证过程,如果不匹配,则会引发 SignatureDoesNotMatch 错误。因此,通过生成带有特定 hash 标头的预签名 URL,并将其仅传递给帐户 A,每个没有此 hash 标头的请求都将被拒绝。 你可以查看这篇文章How to send content md5 header in the presigned url request of node js

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-26
        • 2017-09-28
        • 2021-06-11
        • 2018-12-25
        • 2018-09-11
        • 2017-02-26
        • 2012-04-23
        相关资源
        最近更新 更多