如何解决AWS Cloudformation 如何从 S3 存储桶名称 CommaDelimitedList 制作 ARN 列表 - 半循环循环
这里是参数 - S3 存储桶名称列表:
Parameters:
S3BucketNames:
Description: Enter S3 Bucket Names
Type: CommaDelimitedList
Default: my-first-bucket,testing-bucket,codepipeline-bucket
需要为 Getobject、PutObject 操作制定策略 IAM 策略,当 arn 必须采用适合 IAM 策略的以下格式时:
arn:${Partition}:s3:::${BucketName}/${ObjectName}
在我的例子中它应该是这样的:
"arn:aws:s3:::my-first-bucket/*","arn:aws:s3:::testing-bucket/*","arn:aws:s3:::codepipeline-bucket/*"
解决方法
我不得不考虑一下如何才能完成它,当您知道时很明显,但也许会对某人有所帮助:
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 模板 - 只是示例和平
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。