【问题标题】:CREATE_FAILED Bucketpolicy - Unknown field Fn::JoinCREATE_FAILED Bucketpolicy - 未知字段 Fn::Join
【发布时间】:2017-07-15 10:42:34
【问题描述】:

由于以下 S3 存储桶策略,我的 Cloudformation 堆栈失败并不断回滚。引用的 S3 存储桶是一个单独的存储桶,用于 CloudTrail 日志(我读到这样的事情是使用 CloudTrail 时的最佳实践)。在 cloudFormation 过程中,存储桶与堆栈的其余部分一起创建:[stackname]-cloudtraillogs-[randomstring]

我尝试不使用任何函数来指定存储桶,但这似乎不起作用。我的猜测是因为它然后去寻找一个存储桶'cloudtraillogs'并且找不到任何具有该名称的存储桶。使用带有引用的 Fn::Join 可能会解决这个问题(?),但是 CloudFormation 在评估存储桶策略时会给出“未知字段 Fn::Join”。

谁能发现我在这里可能做错了什么?

存储桶策略

{
  "Resources": {
    "policycloudtraillogs": {
      "Type": "AWS::S3::BucketPolicy",
      "Properties": {
        "Bucket": {
          "Ref": "cloudtraillogs"
        },
        "PolicyDocument": {
          "Statement": [
            {
              "Sid": "AWSCloudTrailAclCheck20160224",
              "Effect": "Allow",
              "Principal": {
                "Service": "cloudtrail.amazonaws.com"
              },
              "Action": "s3:GetBucketAcl",
              "Resource": {
                "Fn::Join": [
                  "",
                  [
                    "arn:aws:s3:::",
                    {
                      "Ref": "cloudtraillogs"
                    },
                    "/*"
                  ]
                ]
            },
            {
              "Sid": "AWSCloudTrailWrite20160224",
              "Effect": "Allow",
              "Principal": {
                "Service": "cloudtrail.amazonaws.com"
              },
              "Action": "s3:PutObject",
              "Resource": {
                "Fn::Join": [
                  "",
                  [
                    "arn:aws:s3:::",
                    {
                      "Ref": "cloudtraillogs"
                    },
                    "/AWSLogs/myAccountID/*"
                  ]
                ]
              },
              "Condition": {
                "StringEquals": {
                  "s3:x-amz-acl": "bucket-owner-full-control"
                }
              }
            }
          ]
        }
      }
    }
  }
}

【问题讨论】:

    标签: amazon-s3 amazon-cloudformation


    【解决方案1】:

    您的模板似乎不是有效的 JSON。您的第一个政策声明 (AWSCloudTrailAclCheck20160224) 缺少用于其 Resource 对象的右括号 }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2022-07-01
      相关资源
      最近更新 更多