AWS安全组规则部署(lambda-> SQS)

时间:2016-02-29 10:53:12

标签: amazon-web-services amazon-sqs aws-lambda aws-security-group

在AWS上,我们实现了AWS lambda将消息推送到AWS队列的功能;

但是在此实现过程中,我不得不向AWS lambda手动授予权限,以便将消息添加到特定队列。而这种手动点击的方式不太适合prod部署。

有关如何自动化在AWS服务(主要是lambda和SQS)之间添加权限以及为prod env创建“良好”部署包的过程的任何建议吗?

1 个答案:

答案 0 :(得分:2)

每个Lambda函数都有一个附加角色,您可以在IAM仪表板中指定权限。如果你给Lambda函数'将权限推送到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-*"

为以production-开头的所有队列提供sendMessage权限。