S3のアクセス管理
S3のバケットを公開したい。。と言う際にはACLとバケットポリシーの設定を行えば可能。
ただGUI上でちょちょっと設定が終わってしまうため、誤ってS3バケットが公開されてしまう状態となることが散見されていた。こちらの記事に詳細が記載されている。とても参考になりました。
画像引用:【アップデート】S3でACLを無効化できるようになりました #reinvent
ACLに関してはバケットとオブジェクト単位どちらでも設定可能。ただしオブジェクト単位の設定が優先されてしまう仕様となっていた。(何が大変かって言うと、バケットのACLをパブリックアクセスNG設定にしおけばOKではないって言うこと。新しくアップロードされたオブジェクト1つ1つに対してちゃんとパブリックアクセスがNGになっているかどうか確認してあげないと、うっかりオブジェクトが世間に公開されている状態になり得る。)
じゃあバケットポリシーでやるか!という流れになるのだが、過去の記事にも書いたようにJSON形式のコードでの記述が必要になりまあまあ面倒臭いのだ。
そこで登場したのが 「S3パブリックアクセス機能」 と言うわけだ。
S3パブリックアクセス機能
アカウント全体、もしくはバケット単位、アクセスポイント単位で自由自在にバブリックアクセスの ブロック(何をブロックしていくかの設定) を設定できる。以下の図がとてもわかりやすいです。(逆にこう言う課題を解決する機能が当初はなかったのか。。。。)
画像引用:【アップデート】S3でACLを無効化できるようになりました #reinvent
ACLとは?
サブネット単位で設定するファイアウォールのこと。IPアドレスとポート番号で許可(拒否)設定をする。
デフォルトではインバウンド/アウトバウンドどちらとも「全て許可」状態になっている。
画像引用:AWSでIPアドレスを制限する3つの方法
参考