当前位置: 首页 > 知识库问答 >
问题:

AWS CloudFront签名URL的访问被拒绝

白飞飙
2023-03-14

我设置了以下信息:

  • 创建了AWS S3存储桶并将一些映像上载到特定文件夹
  • 创建了AWS CloudFront web发行版:
    • 来源域名:从列表中选择的S3 bucket
    • 限制存储桶访问:是
    • 来源访问标识:选定的已有标识
    • 授予桶的读取权限:是,更新桶策略

    AccessDenied拒绝访问

    {
        "Statement": [{
            "Resource": "XXXXXXXXXX.cloudfront.net/standard/f7cecd92-5314-4263-9147-7cca3041e69d.png",
            "Condition": {
                "DateLessThan": {
                    "AWS:EpochTime": 1555021200
                },
                "IpAddress": {
                    "AWS:SourceIp": "0.0.0.0/0"
                },
                "DateGreaterThan": {
                    "AWS:EpochTime": 1554848400
                }
            }
        }]
    }
    
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXXX"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:GetObject"
                ],
                "Resource": "arn:aws:s3:::bucket_name/*"
            },
            {
                "Sid": "",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXXX"
                },
                "Action": "s3:ListBucket",
                "Resource": "arn:aws:s3:::bucket_name"
            }
        ]
    }
    

共有1个答案

宦翔
2023-03-14

看起来您看到的AccessDenied错误与您提到的步骤无关,它允许CloudFront使用特殊用户使用sigv4访问S3,使用上面的步骤,您将看到一个allow语句添加到bucket策略中。

如果是来自S3的错误,您将看到两个请求ID,主机和请求ID,以及拒绝访问的消息

image.png?policy=xxxxx@signature=xxx@key-pair-id=xxxxxxx如果您看到访问被拒绝,则错误来自CloudFront签名的URL(查看器访问受限)。

要查看生成的CloudFront签名URL有什么错误,请尝试base64解码策略值,并查看资源URL/expires等是否正确。

 类似资料:
  • 我正试图用预签名的URL直接上传一个文件到S3 bucket,但在PUT请求上出现AccessDenied(403 Plibended)错误。 附注。忘了补充。我已经尝试添加和以及并且在本例中上载工作正常,但是如何限制上载的访问?它应该只适用于预签名的URL,对吗?

  • 我正试图使用一个以S3 bucket为起点的Cloudfront私有发行版来提供内容。 我的存储桶中有一个图像文件,用于测试目的,其权限设置为私有。我已经设置了我的存储桶策略,因此Cloudfront Origin Access Idbody具有获得权限 当我将Cloudfront发行版设置为public(不使用签名URL)时,它可以正常工作。该对象不能通过直接S3链接访问,但可以使用Cloudf

  • 我正在开发一个必须访问访问者文件系统的Java小程序,所以我压缩了我的

  • 问题内容: 这是我的编辑从第27行到第39行的代码: 我认为我的问题可能与Win7教授有关:(访问被拒绝) 如何解决这个问题,或者我需要做些什么或阅读才能使它起作用? 谢谢你不燃烧。 我只是更改了文件夹选项,使我获得完整的(Access …),现在我只需要弄清楚为什么在运行javac VendingMachine.java时为什么没有得到任何输出,我想是有一个新问题。 问题答案: 您的工作目录为。

  • 问题内容: 我正在尝试读取文件夹中的文件,但是当我运行该程序时,它将引发此异常。我也尝试了其他一些文件夹。它引发相同的异常。 问题答案: 您无法打开和读取目​​录,无法使用和方法区分文件和文件夹。您可以使用和方法获取文件夹的内容(分别用于文件名和s),还可以指定一个过滤器来选择列出的文件的子集。

  • 我正在使用wamp服务器,我的phpMyAdmin页面返回了以下错误。 Wamp服务器版本:2.2 MySQL版本:5.5.24 #1045-用户“root”@“本地主机”的访问被拒绝(使用密码:是) 我编辑了我的配置文件wamp\app\phpmyadmin4.1.14\config.inc.php: 但这并没有解决问题。任何帮助都将不胜感激。