API Gatewayの「リソースポリシー」を使用するとAPIにアクセス制限を設定することができます。ここでは、特定の送信元IPアドレスだけAPIの利用を許可するように設定して動作確認します。
目次
リソースポリシーを設定
リソースポリシーの設定
API Gatewayの管理画面を開き、対象APIのリソースポリシー
をクリックします。
以下の設定を登録します。
項目 | 概要 |
---|---|
account-id | 12桁のAWSアカウントIDを指定します。 |
api-id | API Gateway識別子を指定します。 |
xxx.xxx.xxx.xxx | 許可するIPアドレスを指定します。 |
デプロイ
設定を変更したので再度APIをデプロイします。
動作確認
許可したIPの場合
$ curl https://xxxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/message?name=wakuwaku
Hello wakuwaku
正常にAPIを実行できました。
許可したIP以外の場合
$ curl https://xxxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/message?name=wakuwaku
{"Message":"User: anonymous is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:ap-northeast-1:********XXXX:xxxxxxxxxxx/dev/GET/message"}
APIを実行できず、上記メッセージが表示されました。