4

На AWS мы внедрили функциональность, которую AWMS лямбда посылает сообщение в очередь AWS;Развертывание правил группы безопасности AWS (lambda-> SQS)

Однако во время этой реализации я должен был предоставить разрешения на предоставление доступа к лямбда AWS для добавления сообщения в конкретную очередь. И этот apporach с ручными щелчками не очень хорош для развертывания prod.

Любые предложения по автоматизации процесса добавления разрешений между службами AWS (в основном лямбда и SQS) и создания «хорошего» пакета развертывания для prod env?

ответ

2

Каждая функция Лямбда имеет присоединенную роль, которую вы можете указать разрешения для панели управления IAM. Если вы предоставите роли функций лямбда-разрешения разрешение на то, чтобы нажать на очередь SQS, вам хорошо идти. Например, прикрепить этот JSON в качестве пользовательской роли (см http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSExamples.html):

{ 
    "Version": "2012-10-17", 
    "Id": "Queue1_Policy_UUID", 
    "Statement": 
    { 
     "Sid":"Queue1_SendMessage", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "111122223333" 
     }, 
     "Action": "sqs:SendMessage", 
     "Resource": "arn:aws:sqs:us-east-1:444455556666:queue1" 
    } 
} 

Вы можете использовать звездочку, чтобы дать разрешение на несколько очередей, как:

"Resource": "arn:aws:sqs:us-east-1:444455556666:production-*" 

Чтобы дать SendMessage разрешение всех очередей, начинаются с production-.

+0

У меня есть код лямбда в zip-файле. Вопрос в том, как применить эту политику вручную в консоли AWS (или это может быть как-то часть развертывания)? – user1459144

+0

Вы не можете создать функцию лямбда без роли. Поэтому сначала создайте роль, а затем выберите ее во время создания лямбда-функции или создайте роль при создании функции Lambda, а затем перейдите в IAM, чтобы добавить разрешение. Это может быть использование консоли или API. –

 Смежные вопросы

  • Нет связанных вопросов^_^