【发布时间】:2020-04-24 05:08:26
【问题描述】:
为 s3 存储桶添加存储桶策略。但是在 YAML 中定义它时遇到了多个问题。这是示例 -
S3CURBucketPolicy:
Type: 'AWS::S3::BucketPolicy'
Properties:
PolicyDocument:
Statement:
- Action:
- 's3:ListBucket'
Resource: !Join [ '', ["arn:aws:s3:::", !Ref S3BucketTest]]
Effect: Allow
Condition:
StringEquals:
'AWS:SourceAccount':
- 12334456676
Principal: '*'
Bucket: !Ref S3BucketTest
S3BucketTest是我在同一个cft中定义的s3 bucket的资源名称
S3BucketTest:
Type: AWS::S3::Bucket
我能够毫无问题地创建 s3 存储桶,但存储桶策略给出错误。
- 对于上述yaml,它说资源名称无效。
- 如果我有多个操作并且我在 [] 中提及它们,则会引发无效操作和格式错误的策略错误。
- 我还想提及多个资源。
我本质上是想在 YAML 中复制这个 -
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "stmt_cross_acct_rs_Access",
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::12345678:role/role_rs_1", "arn:aws:iam::12345678:root"]
},
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::<demo-bucket>",
"arn:aws:s3:::<demo-bucket>/*"
]
}
]
}
【问题讨论】:
标签: amazon-web-services yaml amazon-cloudformation