認証
API Key認証
API Gateway標準機能。呼び出し側でx-api-keyを付加する必要がある。詳しい方法は割愛
IAM認証
API Gateway標準機能。呼び出し側がさらにAWS依存となる。詳しい方法は割愛。
カスタム認証
API Gateway標準機能。OAuth等の情報をヘッダから読み取り認証を行う。詳しい方法は割愛。
Lambda側で認証
ソースIPで認証
Lambdaにcontext情報を受け渡して、source-ipを利用して認証する。
「メソッドリクエストのパススルー」で生成される標準のテンプレートで対応可能。
Basic認証
Lambdaにヘッダを受け渡して、Authorizationヘッダを用いて認証する。
「メソッドリクエストのパススルー」で生成される標準のテンプレートで対応可能。
署名検証
AWS API Gateway + AWS LambdaでWeb Hook等を受ける場合、パススルー接続するとJSONのパース結果がLambdaに渡される。通常はこれで問題ないが、署名検証する場合には不要なスペース等も含めた正確な入力文字列が必要となる。
そのような場合、結合リクエストのマッピングテンプレートで、生の入力をbase64エンコードすると、Lambdaないから正確な入力文字列を取得できる。
{
"body-raw-base64" : "$util.base64Encode($input.body)"
}
「メソッドリクエストのパススルー」で生成される標準のテンプレートに、上記のキーを追加して利用する。