QueuePolicy需要什么权限才能允许SNS发送到SQS?

时间:2019-06-29 16:47:07

标签: amazon-web-services amazon-cloudformation amazon-sqs amazon-sns

IamRoleSNSPublishSQS:
  Type: AWS::SQS::QueuePolicy
    Properties:
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Sid: Allow-SNS-Messages
            Effect: Allow
            Principal: 
              AWS: '*'
            Action: 
              - "SQS:*"
            Resource: {"Ref": "IncomingEmailSnsTopic"}
            Condition:
              ArnEquals:
                aws:SourceArn: !Ref 'IncomingEmailSnsTopic'
      Queues:
        - {"Ref": "MyQueue"}

这就是我所拥有的策略(它不会更新Cloudformation堆栈)。

当我拥有该消息时,该消息将无法发布到队列中。

如果我随后更新权限:

enter image description here

并选中此框:

enter image description here

然后,当消息发布时,它确实进入队列。队列策略有什么问题?

1 个答案:

答案 0 :(得分:1)

在您的队列策略中,“资源”字段当前指向SNS主题的ARN。

“资源”字段应指向该策略适用的资源。换句话说,队列的ARN(另一种选择是只使用通配符)。