4

AWS では、AWS ラムダがメッセージを AWS キューにプッシュする機能を実装しました。

ただし、この実装中に、AWS ラムダにメッセージを特定のキューに追加する権限を手動で付与する必要がありました。そして、手動でクリックするこのアプローチは、製品の展開にはあまり適していません。

AWS サービス (主にラムダと SQS) 間でアクセス許可を追加するプロセスを自動化し、prod env の「適切な」展開パッケージを作成する方法について何か提案はありますか?

4

1 に答える 1

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-*"

で始まるすべてのキューに sendMessage パーミッションを付与しますproduction-

于 2016-02-29T14:04:40.330 に答える