このドキュメントは
- 2017/6時点で、ウェブコンソールからaws lambdaの設定をする場合、コンソールがAPI gatewayからlambdaを呼び出せるように設定をするものの、そのままでは手元のcurlから呼べない、つまり任意のクライアントから呼び出せない状態になっているので、ある程度のセキュリティを残しつつ呼べるようにするために必要な作業について書いたメモ。
- このやり方で試しに公開する場合にはあらかじめrequestのrate/quota制限などはちゃんとやっておいたほうが安全です
目標
- 以下のようなcurlコマンドでどこからでもAPIを呼び出せる(例はPOST)
curl -X POST -d $DATA -H "x-api-key: $API_KEY" https://$APP_ID.execute-api.$REGION.amazonaws.com/$STAGE/$METHOD
作業内容
- APIの認証をAWS_IAMからなしにする。(ここの[Authorization Settings] セクションの画像のAuthorizationというプロパティの値を変更。この画像ではすでにNone(なし)になっている)
- API KEYを必須にし、API KEYを作成する
- 必要に応じてAPIのデプロイステージを作成する(dev/test/prod)
- 使用量プランを作成し、API KEYを関連づけてAPIのステージにアタッチする