amazon-s3 - 在 CloudFormation yaml 中创建 BucketPolicy 时出错

标签 amazon-s3 yaml aws-cloudformation

我尝试使用以下 yaml 在 CloudFormation 中创建 S3 存储桶策略:

  cloudTrailBucketPolicy:
    Type:  "AWS::S3::BucketPolicy"
    Properties:
      Bucket:
        Ref: cloudtrailBucket
      PolicyDocument:
        -
          Action:
            - "s3:GetBucketAcl"
          Effect:  Allow
          Resource:
            Fn::Join:
              - ""
              -
                - "arn:aws:s3:::"
                -
                  Ref: cloudtrailBucket
                - "/*"
          Principal:  "*"
        -
          Action:
            - "s3:PutObject"
          Effect:  Allow
          Resource:
            Fn::Join:
              - ""
              -
                - "arn:aws:s3:::"
                -
                  Ref: cloudtrailBucket
                - "/*"
          Principal:
            Service:  cloudtrail.amazonaws.com

当我尝试执行此操作时,我收到一条消息“PolicyDocument 属性的值必须是一个对象”

大家有什么想法吗?

最佳答案

看起来您解决了这个问题,但为了便于阅读,您可以使用 !Sub 来压缩格式,并知道该操作允许单个值以及列表。我喜欢 yaml 的主要原因之一是你使用较少的垂直。

政策文档: - 操作:“s3:GetBucketAcl” 效果:允许 资源:!Sub arn:aws:s3:::${cloudtrailBucket} 主要的: ”*” - 操作:“s3:PutObject” 效果:允许 资源:!Sub arn:aws:s3:::${cloudtrailBucket}/* 主要的: 服务:cloudtrail.amazonaws.com

关于amazon-s3 - 在 CloudFormation yaml 中创建 BucketPolicy 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448469/

相关文章:

java - jackson YAML : support for anchors and references

xml - 如何在 Perl 中将 YAML 转换为 XML?

amazon-web-services - 使用云形成模板创建 DynamoDB 时遇到问题。以及如何在 YAML CF 中定义属性 Boolean、List 和 Map

amazon-web-services - 在 AWS CloudFormation 中构造参数

apache-spark - hadoop aws 版本兼容性

amazon-web-services - 我可以使用 IAM 用户创建 AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY 吗?

image - 从 Amazon s3 获取图像会出现 CORS 错误。 ( Chrome 问题)

json - 用于在服务器上存储文章的 XML、JSON、YAML 或 CSV?

amazon-web-services - 无法查看云信息中下载的文件

iphone - Amazon S3 通过 iOS 应用程序上传完成百分比