2016-03-20 5 views
0

APIゲートウェイを介して送信された呼び出し元IDを使用して、SNSに公開するか、LambdaからSQSにメッセージを送信します。APIゲートウェイを介してラムダにIAMを渡し、渡されたIAMを使用してSQSにメッセージを送信します。

このケースでは、API Gatewayを介してメッセージとキューの配列を受信します。ラムダはメッセージを取得し、メッセージ自体に記述されている別のキューに送信します。呼び出し元は、要求で指定された実際のキューにアクセスすることもあれば、アクセスしないこともあります。各発信者が自分のキューを送信できることを確認するにはどうすればよいですか?

発信者がアクセスできないキューの名前を送信する可能性があります。メッセージを送信するためにlambda内の発信者IDを使用します。

答えて

1

ラムダ統合内から発信者の認証情報を使用することはできません。ラムダは、ラムダ関数に割り当てられたロールの資格を常に使用します。 APIゲートウェイ変換で$ context.identityを使用して、呼び出し元にLambda関数を提供し、呼び出し元にアクセスできるかどうかにかかわらず、ラムダでの決定を行うことができます。

発信者の認証情報を有効にして、AWS service proxyで直接SNS/SQSを呼び出すようにAPIゲートウェイを設定することもできます。これにより、呼び出し元にアクセス権が付与されます。ラムダ関数が提供するいくつかの柔軟性が失われますが、これは考慮する必要があるトレードオフです。

関連する問題