ローカルマシンにAWS Lambda関数を呼び出したいコードがあります。
AWS API GatewayをLambda関数への入り口として構成しましたが、クエリ文字列パラメーターとして認証情報を送信するときのセキュリティについて心配しています。
したがって、API Gateway以外の方法がある場合でも、Lambda関数に認証情報を渡すネストアプローチを提案できますが、動的に送信したいと思います。
いくつかのオプションがあります。
1)クライアントのあるマシンにAWS認証情報がある場合、基本的なSDKを使用できます(例 [〜#〜] api [〜#〜]C#SDK - JavaScript SDK )
2)API Gatewayを使用する場合は、Lambda Authorizer( Documentation )を使用できます。資格情報はどこかから取得する必要があります(例:AWS Cognito)。
3)1つのオプションは、APIキーを使用することです。クライアントインストール用のキーを生成し、それをAPI呼び出しに含めます。参照: ドキュメント
これらはほんの一部のオプションですが、他にもあると思います。最適なオプションは、要件(クライアントの数、インストール方法、認証方法など)にも依存します。
クライアントがマシンでのみ実行する必要がある場合は、オプション1を使用します。
HTTPS暗号化はパラメーターを保護します。正しいサーバーに接続していることと、証明書の例外を受け入れないことを確認するだけです。
クエリパラメータの1つが時間の経過とともに予測できない方法で変化するメカニズムを確立します。
AWS Parameter Store を使用する必要があります。これは、クラウドリソースにアクセスするために必要なシークレットを保持して、シークレットがクラウドを離れる必要がないように特別に設計されています。