#amazon-cloudformation
#amazon-cloudformation
Вопрос:
Вот параметры — Список имен сегментов S3:
Parameters:
S3BucketNames:
Description: Enter S3 Bucket Names
Type: CommaDelimitedList
Default: my-first-bucket,testing-bucket,codepipeline-bucket
Необходимо создать политику IAM для операций GetObject, putObject, когда arn должен быть в следующем формате, подходящем для политики IAM:
arn:${Partition}:s3:::${BucketName}/${ObjectName}
В моем примере это должно выглядеть так:
"arn:aws:s3:::my-first-bucket/*",
"arn:aws:s3:::testing-bucket/*",
"arn:aws:s3:::codepipeline-bucket/*"
Ответ №1:
Мне пришлось немного подумать, как я могу это провернуть, очевидно, когда вы это знаете, но, возможно, кому-то это будет полезно:
S3RolePolicy:
Type: AWS::IAM::Policy
Properties:
PolicyName: DemoPolicy
PolicyDocument:
Statement:
- Effect: Allow
Action:
- s3:PutObject
- s3:GetObject
Resource: !Split
- ","
- !Sub
- arn:aws:s3:::${S3Middle}/*
- S3Middle: !Join [ "/*,arn:aws:s3:::" , !Ref S3BucketNames ]
Это не полный шаблон CloudFormation — просто образец peace
Комментарии:
1. Умный маленький хак!