Amazon cloudformation AWS Cloudformation错误:策略具有无效资源
我需要创建一个具有公共访问权限的S3存储桶,但仅将该访问权限限制为特定IP。Amazon cloudformation AWS Cloudformation错误:策略具有无效资源,amazon-cloudformation,Amazon Cloudformation,我需要创建一个具有公共访问权限的S3存储桶,但仅将该访问权限限制为特定IP。 我使用S3 bucket的策略生成器生成了一个策略,然后通过引用bucket的名称使其适应我的模板;但是,CloudFormation不断给出“策略具有无效资源”错误 下面是我正在使用的CloudFormation模板的相关部分。“FirstS3BucketName”是一个参数 FirstS3BucketPolicy: Type: AWS::S3::BucketPolicy Properties:
我使用S3 bucket的策略生成器生成了一个策略,然后通过引用bucket的名称使其适应我的模板;但是,CloudFormation不断给出“策略具有无效资源”错误 下面是我正在使用的CloudFormation模板的相关部分。“FirstS3BucketName”是一个参数
FirstS3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref FirstS3BucketName
PolicyDocument: |
{
"Id": "Policy1581542658034",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1581542655517",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::${FirstS3BucketName}/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "3.132.69.181/32"
}
},
"Principal": "*"
}
]
}
您真正需要做的就是添加一个
!在您的保单文档
行中的子项
。仅供参考,所有JSON也可以转换为YAML
FirstS3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref FirstS3BucketName
PolicyDocument: !Sub |
{
"Id": "Policy1581542658034",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1581542655517",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::${FirstS3BucketName}/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "3.132.69.181/32"
}
},
"Principal": "*"
}
]
}
非常感谢。这就是问题所在。