【问题标题】:Cloudformation template throws "Encountered unsupported property Statement"Cloudformation 模板抛出“遇到不支持的属性声明”
【发布时间】:2018-03-06 21:52:50
【问题描述】:

我正在尝试构建一个 Cloudformation 模板,其中 CloudTrail 将来自我的 VPC 的日志存储在 S3 存储桶中。当我尝试启动模型时,我会收到存储桶策略的“Encountered unsupported property Statement”。

这是我使用的 JSON:

"LogBucketPolicy": {
        "Type": "AWS::S3::BucketPolicy",
        "Properties": {
            "Bucket": {
                "Ref": "LogBucket"
            },
            "Statement": [
                {
                    "Sid": "AWSCloudTrailAclCheck",
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "cloudtrail.amazonaws.com"
                    },
                    "Action": "s3:GetBucketAcl",
                    "Resource": {
                        "Fn::Join": [
                            "",
                            [
                                "arn:aws:s3:::",
                                {
                                    "Ref": "LogBucket"
                                }
                            ]
                        ]
                    }
                },
                {
                    "Sid": "AWSCloudTrailWrite",
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "cloudtrail.amazonaws.com"
                    },
                    "Action": "s3:PutObject",
                    "Resource": {
                        "Fn::Join": [
                            "",
                            [
                                "arn:aws:s3:::",
                                {
                                    "Ref": "LogBucket"
                                },
                                "/AWSLogs/",
                                "XXXXXXXXXXXX",
                                "/*"
                            ]
                        ]
                    },
                    "Condition": {
                        "StringEquals": {
                            "s3:x-amz-acl": "bucket-owner-full-control"
                        }
                    }
                }
            ]
        }

此模板取自 AWS example,因此我有点搞错了。

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    问题是对于AWS::S3::BucketPolicy 类型,预期的属性是Bucket 和PolicyDocument。在您的模板中,您没有 PolicyDocument。相反,你有声明。那应该可以解决问题。 CloudFormation 模板参考可以在here找到。

    Bucket policy sn-p(我指的是)可以在下面找到:

    "BucketPolicy" : {
      "Type" : "AWS::S3::BucketPolicy",
      "Properties" : {
        "Bucket" : {"Ref" : "S3Bucket"},
        "PolicyDocument" : {
          "Version": "2012-10-17",
          "Statement": [
            {
    

    【讨论】:

    • 谢谢克里希纳!现在“遇到不支持的属性声明”错误消失了,但是 CloudTrail 引发了一个新错误...“检测到存储桶的 S3 存储桶策略不正确”。你知道它可能是什么吗?
    • 请分享完整的错误。它可能应该有更多的信息
    • 另外,您是否在模板的存储桶策略中添加了Version
    • 是的,我确实添加了版本,“版本”:“2012-10-17”:) 我不确定我能找到比 CloudFormation 中显示的错误消息更多的内容:5:08: 05 UTC+0100 | CREATE_FAILED | AWS::CloudTrail::Trail |步道 |为存储桶检测到不正确的 S3 存储桶策略:mypile-logbucket-ycijs08eajsv
    • 既然这是一个新问题,你能不能新建一个stackoverflow问题并将相关模板sn-p放在那里。我们不希望一个问题针对多个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-08-11
    • 2018-10-13
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多