繁体   English   中英

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

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

无法弄清楚我在做什么错,如果我注释掉SNSAddTopicPolicy,一切正常,但是一旦取消注释,我就会得到:

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

我已经尝试了每种组合,但无法正常使用,有帮助吗?

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" }

看起来您正在为REF混合使用JSON和YAML语法。 另外,为安全起见,应在版本周围加上引号,如下所示。

您的政策应更像这样

 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