Skip to content

AWS Amplify で API Gateway に IP アドレス制限を適用する

Updated:

手順

1. オーバーライドの実施

公式ドキュメント に従ってオーバーライドを実施する。

amplify override api

2. DynamoDB の設定変更

作成された override.ts に次の内容を記載する。

import {
  AmplifyApiRestResourceStackTemplate,
  AmplifyProjectInfo,
} from "@aws-amplify/cli-extensibility-helper";

export function override(
  resources: AmplifyApiRestResourceStackTemplate,
  amplifyProjectInfo: AmplifyProjectInfo
) {
  resources.restApi.policy = {
    Version: "2012-10-17",
    Statement: [
      {
        Effect: "Allow",
        Principal: "*",
        Action: "execute-api:Invoke",
        Resource: ["execute-api:/*/*/*"],
      },
      {
        Effect: "Deny",
        Principal: "*",
        Action: "execute-api:Invoke",
        Resource: ["execute-api:/*/*/*"],
        Condition: {
          NotIpAddress: {
            "aws:SourceIp": [
              "xxx.xxx.xxx.xxx",
              "xxx.xxx.xxx.xxx/xx",
            ],
          },
        },
      },
    ],
  };
}

参考