1

我正在使用 cloudmailin.com 将附件从电子邮件上传到 S3 存储桶。存储桶本身具有公共设置,但我无法从数据链接访问上传的数据,因为 S3 显然不会公开其他用户上传的文件。

目前,我正在使用下面的存储桶策略,它应该使存储桶的内容公开:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mjkaufer_cloudmailin/*"
        }
    ]
}

这仅在我手动将某些内容上传到 S3 时才有效。如果我手动上传一些东西,我可以查看链接,它可以在新窗口中打开。但如果它是从 cloudmailin 上传的,我无法查看该文件。

有人知道解决方法吗?我只需要使由第 3 方(cloudmailin)上传到存储桶的文件可见。

谢谢。

4

1 回答 1

2

问题是,当 CloudMailin 将您的附件上传到 AWS S3 时,它需要设置它们的 ACL 权限。AWS 为此提供了几个“预设权限”。CloudMailin 真正感兴趣的仅有以下两个:

  • bucket-owner-full-control- 这是您当前设置的内容,它授予存储桶所有者对上传附件的完全控制权。
  • public-read- 这将授予您作为存储桶所有者的完全控制权,但也会为每个人设置只读权限。

如果您登录CloudMailin,请前往您的地址列表,然后在您需要编辑的地址上单击“管理”。然后前往“编辑附件存储”并选择“公开阅读”,然后 CloudMailin 将在电子邮件附件上传到 S3 时设置此预设策略。

于 2014-02-21T09:19:04.547 回答