Addig bucketpolicy для s3 Bucket. Но я сталкиваюсь с множеством проблем, определяющих его в 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 - это имя ресурса корзины s3, которое я определил в том же cft
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>/*"
]
}
]
}