ブロックパブリックアクセスの4オプションって何?
これこれ!
静的サイト設定時に「ブロックパブリックアクセス」をオフにしてねって言われたのですが、そもそもその四つのチェックって何?、とずっと気になりました。。。
4オプションは
BlockPublicAcls
説明:バケットやオブジェクトレベルで「パブリックACL」を適用することを禁止します。
影響:新規または既存のオブジェクトにパブリックACLが追加されても、そのACLは無視されます。
使用シナリオ:特定のバケットやオブジェクトが意図せずに「パブリックアクセス」を持たないようにしたい場合。
IgnorePublicAcls
説明:すでに設定されているパブリックACLを無視します。
影響:バケットまたはオブジェクトにパブリックACLが設定されていても、パブリックアクセスはできません(無視されます)。
使用シナリオ:バケットやオブジェクトに設定されたすべてのパブリックACLを無効化し、IAMポリシーやバケットポリシーのみでアクセス制御を行いたい場合。
BlockPublicPolicy
説明:パブリックアクセスを許可するバケットポリシーが設定されるのを防ぎます。
影響:IAMポリシーやバケットポリシーで「Principal: *」などのパブリックアクセスを含むポリシーが適用できません。
使用シナリオ:バケットポリシーにおいて、誤ってパブリックアクセスが許可されるのを防ぎたい場合。
RestrictPublicBuckets
説明:バケットポリシーでのパブリックアクセスの制限に加え、AWSアカウント単位でパブリックアクセスを制限します。
影響:バケットが誤ってパブリックアクセスを持つことを防ぎ、特に異なるアカウントからのパブリックアクセスを制限します。
使用シナリオ:バケットへのアクセスを、特定のアカウントや内部ユーザーにのみ制限したい場合。
もっと整理すると
設定 | 目的 | 影響 |
---|---|---|
BlockPublicAcls | パブリックACLの追加を禁止 | パブリックACLを適用できず、結果としてパブリックアクセスが許可されません。 |
IgnorePublicAcls | パブリックACLを無視 | 設定済みのパブリックACLが無視され、IAMやバケットポリシーでのみ制御します。 |
BlockPublicPolicy | パブリックポリシーの設定を禁止 | バケットポリシーでのパブリックアクセス(「Principal: *」など)が無効化されます。 |
RestrictPublicBuckets | バケットアクセスを内部アカウントに限定 | バケットのパブリックアクセスが完全に制限され、他のアカウントからのアクセスも制限されます。 |
AWSの公式ドキュメント上、似たような説明ばっかりで理解しづらかったが、ChatGTPとかを併用しながら、何とか理解できた~
参考サイト