Date

目的

  • S3バケットをprivate状態に変更する
  • S3バケットのファイルをCloudFrontからのみアクセス可能とする
  • https対応する(対応済み)

なんでこんなことするのか

このBlogはPython製の静的ファイルジェネレーターであるPelicanを使っている。
markdownファイルをPelicanを介してhtmlファイルに変換している。
そして、変換されたhtmlファイルをAWS S3にファイルを設置する事で公開している。
この時https対応をするために、AWS CloudFrontを使っているが、AWS S3Bucketはpublicに対して公開となっていた。
これ、気持ち悪いし非セキュアだよね。ってことでS3Bucketをprivateに変更する事にした。(最初からやっとけばいいのにね)

CloudFrontの設定

https化した時に設置したCloudFrontの設定を少しいじるだけ。

Restrict Bucket Accessを設定する。

S3の設定

S3側は単純にprivateになっているか確認するだけ。

まとめ

まぁ簡単だよね。
元々https化した時にCloudFrontの設定は終わってるわけだし、ちょこちょこっと設定を変更してあげるだけ。
最初から設定しとけよって思ったけど、あの時はめんどくさかったんだろうね。
あと、そこまでアクセスなんかねーよw
S3に静的ファイルしか置いてないし、不正利用もないだろって思ってました。
でも、CoinHiveとかJS弄られる可能性もあり得るよなぁって事で今さらながら対応しました。