CloudFront S3 访问被拒绝

CloudFront S3 访问被拒绝

我有一个有权管理 S3(S3_User)的帐户,还有另一个有权管理 Cloud Front(Cloud_Front_User)的帐户。

现在,我已经使用 S3_User 创建了一个存储桶“bucketname”,并使用 Cloud_Front_User 创建了一个分布,其来源是我的 S3 存储桶。

当我尝试通过 Cloudfront 访问资源时,出现了以下问题

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>555667558C0B2698</RequestId>
<HostId>
QP0y2/XTsJqItm815aDsdoLTF853zMeEPUAykvxjzdFfU1WwfXHioa6CeLWmc96RDVJopBu+eLE=
</HostId>
</Error>

我已经设定了这个:http://cl.ly/image/1s0I1H3A3p1N

但是当我点击“保存”后,过了一段时间,我收到一条错误消息,说无法在 S3 存储桶上设置身份。我认为这是因为我使用“Cloud_Front_User”管理 CLoudFront,使用“S3_User”管理 S3。那么,我该如何在存储桶上手动设置 S3 策略以允许 CloudFront 访问 s3?

S3 存储桶策略

{
    "Version": "2012-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": " Grant a CloudFront Origin Identity access to support private content",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E780000000000"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::socialacademy/*"
        }
    ]
}

在此处输入图片描述

答案1

答案2

请参阅此解决方案..

https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket

如何允许公共访问 Amazon S3 存储桶如果您尝试允许任何人下载或打开 Amazon S3 存储桶中的文件,请按以下步骤操作。

亚马逊网络服务

  1. 将此代码复制并粘贴到存储桶策略编辑器弹出窗口中。您需要将“YOUR-BUCKET-NAME”替换为您的完整存储桶名称。

示例政策:

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

相关内容