【发布时间】:2019-06-18 17:50:02
【问题描述】:
我目前正在尝试使用 SAM 模板为云形成部署定义一个 s3 存储桶。按照文档,我认为我正确设置了 PublicAccessBlockConfiguration:
(yaml)
S3Bucket1:
Type: AWS::S3::Bucket
Properties:
BucketName: abl-ar-report-container
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
PublicAccessBlockConfiguration:
BlockPublicAcls : true
BlockPublicPolicy : true
IgnorePublicAcls : true
RestrictPublicBuckets : true
但是,当我部署时,我收到以下消息:
ID 为 [S3Bucket1] 的资源无效。没有为 AWS::S3::Bucket 类型的资源定义属性 PublicAccessBlockConfiguration
我确实在 git 上看到了一些对模板变体的引用 我将 AWS 模板声明为:
AWSTemplateFormatVersion: 2010-09-09
Description: A template for a Node.js-based application
Transform: AWS::Serverless-2016-10-31
进一步挖掘后,我认为我将 CF 模板语法与 SAM 语法混合在一起。谁能指出这些设置的正确文档或语法?
【问题讨论】:
-
这是CFN模板还是SAM模板?似乎不完整。它验证了吗?
-
这是来自 SAM 模板的 sn-p。这是 s3 存储桶的完整定义。如果我删除 PubicAccessBlockConfiguration 部分,它将部署 s3 存储桶。
标签: amazon-web-services amazon-s3 amazon-cloudformation