Какие разрешения необходимы для очереди SQS, чтобы иметь возможность получать уведомления от SES через SNS?
Мой сценарий: отправка почты с помощью SES и получение информации о доставке по SNS в очередь SQS. Какие разрешения должна иметь эта очередь?
Я обнаружил, что если я не даю никаких разрешений вообще, уведомления не приходят. Когда я даю разрешение Everyone
, уведомления действительно приходят, но это небезопасно.
Какие разрешения я должен установить?
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