S3で特定IPのみアクセスできる=ホワイトリスト形式でIP制限を設けるときの備忘録。0.追記2018/4/18AWSに慣れてきたら普通にAllowでもできるようになったのでそっちのやり方も書きます。S3バケット作成1バケットの作成すべてのサービス>ストレージから「S3」を選択、「バケットを作成する」ボタンを押下する。ウィザードに下記必要事項を入力。既存のバケットから設定をコピー:なにも選択しない入力し終わったら「作成」ボタンを押下。バケットの設定1バケットのRW設定バケット一覧画面で作成したバケットを選択し、「アクセス制限」タブを選択する。パブリックアクセス許可を管理する>Everyone>オブジェクトアクセス/アクセス許可の2項目ともに「読み込み」「書き込み」にチェックを入れる。今回は特定IPのみアクセスできる、ホワイトリスト形式のポリシーを作成する。「アクセス制限」タブ>「バケットポリシー」ボタン>バケットポリシーエディター>「ポリシージェネレーター」のリンクを押下して、AWSポリシージェネレーターで下記を入力する。こっちがデファクトスタンダードだと思います。設定したいIPアドレスホワイトリストに設定したいIPアドレスが複数個ある場合は、"aws:SourceIp"に配列形式で設定する。ホワイトリストIP設定(Deny-NotIpAddress版)多分普通はこっちじゃなくてAllow-IpAddressでやると思いますが、こっちでもできます。設定したいIPアドレスホワイトリストに設定したいIPアドレスが複数個ある場合は、"aws:SourceIp"に配列形式で設定する。Statement」ボタンを押下する。jsonが表示されるので、バケットポリシーエディターにコピー&ペーストする。hostingを選択。「このバケットを使用してウェブサイトをホストする」にチェック。インデックスドキュメント、エラードキュメントに任意ファイル名を入力。エンドポイントのURLを押下し、公開できているかを確認する。ハマったところネット上の情報を探すとき、ホワイトリストにしたいのかブラックリストにしたいのかで設定内容が変わるのに気づかず四苦八苦した。ホワイトリストのときはAllow-IpAddressまたはDeny-NotIpAdressの組み合わせ。HTMLファイルとかのコンテンツをアップロードしたあと、「公開する」を選択しないと公開されないのにしばらく気がつかず困った(懐かしきWebサーバの気持ちで接したら違った)。同じファイルを公開したとしても、上書きアップロードしたら非公開になるっぽいので注意。※記載内容は個人に帰属し、所属組織を代表するものではありません。upLoginユーザーは見つかりませんでした。