【问题标题】:I cannot add "AWS": "*" in my cloudformation code我无法在我的 cloudformation 代码中添加“AWS”:“*”
【发布时间】:2018-03-11 12:47:25
【问题描述】:

我有一个简单的 cloudformation,它创建了一个附有策略的存储桶。这是我的云形成代码:

---
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  S3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: testforcfn
    DeletionPolicy: Retain

  BucketPolicy:
    Type: AWS::S3::BucketPolicy
    Properties:
      PolicyDocument:
        Id: MyPolicy
        Version: '2012-10-17'
        Statement:
        - Sid: PublicReadForGetBucketObjects
          Effect: Allow
          Principal: "*"
          Action: s3:GetObject
          Resource:
            Fn::Join:
            - ''
            - - 'arn:aws:s3:::'
              - Ref: S3Bucket
              - "/*"
      Bucket:
         Ref: S3Bucket
Outputs:
  S3Info:
    Value:
        Ref: S3Bucket

一切正常,但是,在主体的存储桶策略中,我需要“AWS”:“”,而不是“”。因此,这里的更多解释是我想要的存储桶策略:

{
    "Version": "2012-10-17",
    "Id": "Policy1506624486110",
    "Statement": [{
        "Sid": "Stmt1506624421375",
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::testforcfn/*"
    }]
}

所以这部分是我想在我的 cloudformation 代码中包含的部分:

       "Principal": {
           "AWS": "*"
       }

当我在 cloudformation 中执行此操作时出现错误:

              Principal: "AWS:*"

知道如何解决这个问题吗?

【问题讨论】:

  • 您看到了什么错误?仅供参考“校长”:“”相当于“校长”:{“AWS”:“”}。
  • 实际上我删除了堆栈并忘记捕获确切的错误,但基本上它说其中一个资源未能创建并且没有任何特定的位我确定这是因为这个: Principal: "AWS:* ” 因为当我这样做时它有效:校长:“*”

标签: amazon-web-services amazon-cloudformation aws-opsworks


【解决方案1】:

我会尝试以下方法:

Principal: 
  AWS: "*"

你可以找到一个相关的例子here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    相关资源
    最近更新 更多