バケットポリシーを以下のような感じにします。hogehogeは該当のバケットを指定してください。192.0.2.0/24と203.0.113.1からのアクセスのみを許可したい場合の設定です。
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::hogehoge/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"192.0.2.0/24",
"203.0.113.1"
]
}
}
}
]
}
気をつけないといけないのはAPI経由でのアクセスも制限される点です。デプロイサーバーを用意する場合はデプロイサーバーのIPアドレスも指定しましょう。