AWS では、AWS ラムダがメッセージを AWS キューにプッシュする機能を実装しました。
ただし、この実装中に、AWS ラムダにメッセージを特定のキューに追加する権限を手動で付与する必要がありました。そして、手動でクリックするこのアプローチは、製品の展開にはあまり適していません。
AWS サービス (主にラムダと SQS) 間でアクセス許可を追加するプロセスを自動化し、prod env の「適切な」展開パッケージを作成する方法について何か提案はありますか?
AWS では、AWS ラムダがメッセージを AWS キューにプッシュする機能を実装しました。
ただし、この実装中に、AWS ラムダにメッセージを特定のキューに追加する権限を手動で付与する必要がありました。そして、手動でクリックするこのアプローチは、製品の展開にはあまり適していません。
AWS サービス (主にラムダと SQS) 間でアクセス許可を追加するプロセスを自動化し、prod env の「適切な」展開パッケージを作成する方法について何か提案はありますか?
各 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-
。