You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudFront签名URL生成后访问被拒绝问题排查求助

CloudFront签名URL返回AccessDenied排查方案

一、签名生成参数核对

  • 确认签名用的密钥对已加入CloudFront可信密钥组,且密钥状态为Active(控制台路径:CloudFront → 密钥管理 → 密钥组)。
  • 检查签名URL的资源路径是否完全匹配CloudFront行为规则:比如行为规则是/user-files/*,但签名路径是/files/*,会匹配到未配置签名验证的默认行为。
  • 验证IP限制格式:单个IP需用x.x.x.x/32,网段用CIDR格式(如192.168.1.0/24),确保请求IP在指定范围内。
  • 确认过期时间为秒级Unix时间戳,且当前时间未超过过期时间。

二、CloudFront行为与源配置检查

  • 每个行为的源请求策略必须包含CloudFront-Viewer-Address头(IP限制依赖该头):可选择AWS托管策略Managed-CachingOptimizedWithIP,或自定义策略时勾选该头。
  • 确认行为的Restrict viewer access已选择Trusted Signers (Recommended),且关联的密钥组正确。
  • 检查S3源的OAC配置:确认OAC已关联当前CloudFront分配,且Sign requests设置为Yes。

三、S3桶权限验证

  • 核对桶策略:确保服务主体为cloudfront.amazonaws.com,资源路径包含/*(如arn:aws:s3:::bucket-user-files/*),且AWS:SourceArn指向正确的CloudFront分配ARN(格式:arn:aws:cloudfront::ACCOUNT_ID:distribution/DIST_ID),示例策略:
    {
      "Version": "2008-10-17",
      "Id": "PolicyForCloudFrontPrivateContent",
      "Statement": [
        {
          "Sid": "AllowCloudFrontAccess",
          "Effect": "Allow",
          "Principal": {
            "Service": "cloudfront.amazonaws.com"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::bucket-user-files/*",
          "Condition": {
            "StringEquals": {
              "AWS:SourceArn": "arn:aws:cloudfront::123456789012:distribution/ABCDEFG123456"
            }
          }
        }
      ]
    }
    
  • 确认S3的Block public access已全量禁用(四个选项均关闭),否则会覆盖桶策略导致CloudFront无法访问。

四、日志排查

  • 启用CloudFront实时日志:查看x-edge-error-details字段,可获取具体拒绝原因(如签名无效、IP不匹配、密钥不存在等)。
  • 开启S3访问日志:若请求到达S3,日志会记录拒绝原因(如桶策略不匹配、对象不存在等)。

五、PHP代码关键点检查

  • CloudFrontClient初始化区域填us-east-1(CloudFront为全局服务)。
  • createSignedUrl参数验证:
    • url需为CloudFront分配域名+对象路径(如https://d123.cloudfront.net/user-files/test.jpg),不能用S3域名。
    • ipAddress参数格式正确(如'192.168.1.1/32')。
    • privateKey加载完整的.pem密钥内容,保留开头-----BEGIN RSA PRIVATE KEY-----和结尾-----END RSA PRIVATE KEY-----。

内容的提问来源于stack exchange,提问作者quetzalfir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 22:15:14