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

《安全静态网站入门》AWS教程创建S3BucketLogs失败

解决CloudFormation CustomResourceStack中S3BucketLogs创建失败的问题

以下是针对该错误的排查和修复步骤:

1. 确认日志桶命名唯一性

S3桶名称为全局唯一,CloudFormation尝试创建的S3BucketLogs对应的桶名可能已被占用:

  • 查看CloudFormation事件详情,获取模板尝试创建的日志桶全名(通常会在基础名称后添加随机后缀或账户ID)
  • 若命名冲突,修改模板中的日志桶名称参数,替换为未被使用的唯一名称。

2. 修正日志桶的权限策略

你当前将日志写入权限配置在了源桶(example.com),但日志存储的目标桶(即S3BucketLogs)才需要配置该权限:

  • 若模板自动创建日志桶,确保模板包含允许日志服务写入的桶策略,示例如下:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logging.s3.amazonaws.com"
                },
                "Action": "s3:PutObject",
                "Resource": "arn:aws:s3:::[你的日志桶名称]/*",
                "Condition": {
                    "StringEquals": {
                        "s3:x-amz-acl": "bucket-owner-full-control"
                    }
                }
            }
        ]
    }
    
  • 同时确保源桶的日志配置已正确指向该日志桶,且CloudFormation执行角色拥有源桶的s3:PutBucketLogging权限。

3. 检查日志桶的公共访问设置

日志桶不需要公开访问,建议保持阻止所有公共访问为开启状态(AWS最佳实践):

  • 查看模板中S3BucketLogs的PublicAccessBlockConfiguration配置,确保设置为:
    PublicAccessBlockConfiguration:
      BlockPublicAcls: true
      BlockPublicPolicy: true
      IgnorePublicAcls: true
      RestrictPublicBuckets: true
    
    若模板中关闭了这些设置,可能触发权限校验失败。

4. 验证CloudFormation执行角色权限

确保执行栈的IAM角色拥有足够权限创建和配置S3桶,需包含以下核心权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:PutBucketPolicy",
                "s3:PutBucketLogging",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutBucketOwnershipControls"
            ],
            "Resource": "arn:aws:s3:::*"
        }
    ]
}

5. 确认对象所有权配置

日志桶设置为桶所有者优先是合适的,但需通过桶策略的s3:x-amz-acl条件(如步骤2示例)确保日志服务写入的对象自动授予桶所有者完全控制权,避免所有权冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:05:32