Какие разрешения необходимы для очереди SQS, чтобы иметь возможность получать уведомления от SES через SNS?


Мой сценарий: отправка почты с помощью SES и получение информации о доставке по SNS в очередь SQS. Какие разрешения должна иметь эта очередь?

Я обнаружил, что если я не даю никаких разрешений вообще, уведомления не приходят. Когда я даю разрешение Everyone, уведомления действительно приходят, но это небезопасно.

Какие разрешения я должен установить?

1 2

1 ответ:

Вам нужно будет предоставить очереди SNS разрешение на вызов sqs:SendMessage API вызова

Для этого вы добавляете в очередь SQS политику, которая позволяет всем участникам, при условии, что их ARN является ARN вашего SNS, эффективно блокировать этот конкретный вызов из вашей темы SNS.

Вы можете найти пример ниже-замените ресурс и SourceArn по мере необходимости.

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"MySQSPolicy001",
      "Effect":"Allow",
      "Principal":"*",
      "Action":"sqs:SendMessage",
      "Resource":"arn:aws:sqs:us-east-1:123456789012:MyQueue",
      "Condition":{
        "ArnEquals":{
          "aws:SourceArn":"arn:aws:sns:us-east-1:123456789012:MyTopic"
        }
      }
    }
  ]
}

Источник: http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html