公式にIP範囲のホワイトリストのサンプルが無かったので一応

  1. 設定方法
  2. 全てのステージ・メソッド・パスで 1.1.1.1, 2.2.2.0 ~ 255 からの実行のみ許可
  3. 特定のステージ・メソッド・パスで 1.1.1.1 からの実行のみ許可

設定方法

API Gatewayのトップ画面で対象のAPIを選択 → 左メニューの『リソースポリシー』を選択。

大きい入力欄が出てくるのでリソースポリシーをJSONで入力して保存。

左メニューの『リソース』 → 『アクション▼』 → 『APIのデプロイ』して、数分待つと反映される。

書き方は公式マニュアル参照。

全てのステージ・メソッド・パスで 1.1.1.1, 2.2.2.0 ~ 255 からの実行のみ許可

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/*/*/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": ["1.1.1.1", "2.2.2.0/24"]
                }
            }
        }
    ]
}

特定のステージ・メソッド・パスで 1.1.1.1 からの実行のみ許可

  • ステージ = teststage
  • メソッド = POST
  • パス = /user/update
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/teststage/POST/user/update",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "1.1.1.1"
                }
            }
        }
    ]
}