以前に書いたエントリ、結構な更新が入っているので新規エントリとしました。
iga-ninja.hatenablog.com
導入時期は不明ですが、2つ更新項目を書きます
Bucket policy として Legacy な権限を指定可能
前回のエントリで、Default ACLを使わないと危険と書きましたが、ここが解消されています。重要なポイントなのでスクリーンショットで示します。
安全な指定方法はこちら
危険なのはこちら
危険か安全かはこれで確認
仕組みの説明
一般公開向けであっても、Legacyを使わなければディレクトリ構造が見えてしまうという弱点を以前書きましたが、Bucket全体にたいしてLegacyの権限も適応可能になりました。(いつから可能になったのかはわかりません)
この時点でもうObject ACL (& Default ACL) はお役御免です。お疲れ様でした。 定方法はこちら
Bucket Policy Only?
もう一つまだベータのようですが、機能が追加されていました。Bucket Policy Onlyという機能ですが、こちらはObject ACLを封じkめてBucket Policy つまり Bucket全体でのみ権限を管理できます。AWSでもあるあるパターンですが、Bucket単位では非公開設定だけど、Object単位では公開にしていた、というパターンを抑制できます。まあ、AWSのS3にも追加された機能とほぼ同じ狙いですね。
このあたり、FTP/SFTP などのツールでサーバにアップロードしたら、パーミッションは弄るものだ!という昔からの習慣が残っている限り、絶対に発生しうるミスなのでシステムで封じ込めるのは致し方なしだと思います。
Bucket Policy という名前の語弊
AWS識者には大きな語弊を含みます。単刀直入に
- アクセス元IPアドレスで絞ったりとかはできない
- JSONで好きなルールを書いたりとかもできない