简体   繁体   English

CloudFormation:无法使用无服务框架在AWS上为SNS主题创建策略

[英]CloudFormation: Cannot create policy for SNS topic on AWS using serveless framework

Can't figure out what I am doing wrong, if I comment out the SNSAddTopicPolicy, everything works fine, however once uncommented I get: 无法弄清楚我在做什么错,如果我注释掉SNSAddTopicPolicy,一切正常,但是一旦取消注释,我就会得到:

SNSAddTopicPolicy - Invalid parameter: Policy Error: null (Service: AmazonSNS; Status Code: 400; Error Code: InvalidParameter; Request ID: 26870c3b-4829-5080-bd88-59e9524c08e4).

I have tried every single combination but can't get it to work, any help? 我已经尝试了每种组合,但无法正常使用,有帮助吗?

BucketAddEventInterfaceSNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: accounts-bucket-add-interface-dev

 SNSAddTopicPolicy:
    Type: AWS::SNS::TopicPolicy
    Properties:
        PolicyDocument:
          Id: 'accounts-sns-add-policy-dev'
          Version: 2012-10-17
          Statement:
            Sid: 'accounts-sns-add-statement-dev'
            Effect: Allow
            # this probably needs narrowed down
            Principal:
              AWS: '*'
            Action: sns:Publish
            Resource: { "Ref":"BucketAddEventInterfaceSNSTopic" }
        Topics:
          - { "Ref": "BucketAddEventInterfaceSNSTopic" }

It looks like you're mixing JSON and YAML syntax for the REF. 看起来您正在为REF混合使用JSON和YAML语法。 Also, just to be safe you should put quotes around your version as shown below. 另外,为安全起见,应在版本周围加上引号,如下所示。

Your Policy should look more like this 您的政策应更像这样

 SNSAddTopicPolicy:
    Type: AWS::SNS::TopicPolicy
    Properties:
        PolicyDocument:
          Id: 'accounts-sns-add-policy-dev'
          Version: '2012-10-17'
          Statement:
            Sid: 'accounts-sns-add-statement-dev'
            Effect: Allow
            # this probably needs narrowed down
            Principal:
              AWS: '*'
            Action: sns:Publish
            Resource: !Ref BucketAddEventInterfaceSNSTopic
        Topics:
          - !Ref BucketAddEventInterfaceSNSTopic

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM