【问题标题】:S3 copyObject sends Access DeniedS3 copyObject 发送拒绝访问
【发布时间】:2023-04-10 12:23:01
【问题描述】:

我知道之前有人问过这个问题,但它的解决方案对我不起作用。

Amazon S3 copyObject 向我发送拒绝访问错误。对象是一个图像,它在 S3 中成功复制了图像。

IAM 用户已获得所有 S3 权限。
在 copyObject 中,我也像这样设置存储桶名称:

exports.copyObjS3 = (filename, key) => {
  return s3
    .copyObject({
      Bucket: S3BUCKET,
      CopySource: encodeURI(`${S3BUCKET}/${filename}`),
      Key: key,
    })
    .promise();
};

S3BUCKET 指定 S3 存储桶的名称。

谁能解释一下可能是什么问题?

谢谢

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3


    【解决方案1】:

    好的。所以我通过添加 ACL 选项来完成它。

    exports.copyObjS3 = (filename, key) => {
      return s3
        .copyObject({
          Bucket: S3BUCKET,
          CopySource: encodeURI(`${S3BUCKET}/${filename}`),
          Key: key,
          ACL: 'public-read'
        })
        .promise();
    };
    

    【讨论】:

    • 没有理由需要这样做。您需要查看 IAM 用户策略或存储桶策略以找到解释。另请注意,此更改使任何人在任何地方都可以读取目标对象,而无需凭据。
    猜你喜欢
    • 2016-10-08
    • 2023-01-08
    • 2021-04-13
    • 2019-10-21
    • 1970-01-01
    • 2017-12-24
    • 2021-11-06
    • 2012-09-11
    • 2021-07-27
    相关资源
    最近更新 更多