微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Cloudformation 如何从 S3 存储桶名称 CommaDelimitedList 制作 ARN 列表 - 半循环循环

如何解决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 举报,一经查实,本站将立刻删除。