【Security Hub 解説】S3 パブリックアクセスブロック設定は、バケットレベルで有効にする必要があります [S3.8] | Shisho Cloud 読み込まれました
keyboard_arrow_right

S3 パブリックアクセスブロック設定は、バケットレベルで有効にする必要があります

Security Hubの検出項目の解説

[S3.8] S3 パブリックアクセスブロック設定は、バケットレベルで有効にする必要があります

標準

リソース

カテゴリ

重要度

AWS Foundational Security Best Practices

Amazon S3

保護 > セキュアなアクセス管理 > アクセスコントロール

概要

S3 バケット内部のオブジェクトを S3 の機能のみを用いて公開する予定がない場合は、パブリックアクセスブロック機能を有効にし、意図せぬデータの公開が行われないような予防的統制を行いましょう

システム構成上、意図的にバケットやバケット内のオブジェクトに対するパブリックアクセスを有効にして、インターネットからのデータの取得を許可することはあるでしょう。一方、S3 バケットを利用する開発者・操作者の不注意で公開されてしまう場合があるのも実態です。組織的にこのような事故を防ぐためには、オブジェクトの公開を行う予定のないバケットにおいて、パブリックアクセスを有効にできないように設定することが推奨されます。

問題がある場合の修正方法

マネジメントコンソール上での設定

AWS アカウント単位でパブリックアクセスブロックを有効化する場合:

  1. https://console.aws.amazon.com/s3/ を開く。

  2. サイドバーの このアカウントのブロックパブリックアクセス設定 をクリックする。

  3. 編集 をクリックし、パブリックアクセスをすべてブロック を選択する。

  4. 変更の保存 をクリックする。

バケット単位でパブリックアクセスブロックを有効化する場合:

  1. https://console.aws.amazon.com/s3/ を開く。

  2. バケット名をクリックする。

  3. アクセス許可 タブを開く。

  4. ブロックパブリックアクセス (バケット設定) の項目下の、編集 をクリックし、パブリックアクセスをすべてブロック を選択する。

  5. 変更の保存 をクリックする。

コマンドラインによる設定

AWS アカウント単位でパブリックアクセスブロックを有効化する場合:

aws s3control put-public-access-block \
    --account-id <ACCOUNT_ID> \
    --public-access-block-configuration "BlockPublicAcls=true, IgnorePublicAcls=true, BlockPublicPolicy=true, RestrictPublicBuckets=true"

バケット単位でパブリックアクセスブロックを有効化する場合:

aws s3api put-public-access-block \
    --bucket <BUCKET_NAME> \
    --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"

関連する CloudFormation リソース/パラメータ

対応しない場合のリスク

この設定はあくまで 「意図せずオブジェクトを公開してしまった」というミスを防ぐためのレイヤであり、予防的統制の一つです。したがって、S3 のパブリックアクセスブロックの設定が仮に無効でも、実際に AC...

Amazon S3についてのよくある質問

Amazon S3で他に推奨される設定はありますか?

AWS Foundational Security Best PracticesやCIS AWS Foundations Benchmarkでは、以下のような設定が推奨されます。これらは本Webサイトでも概要を解説しているので、必要に応じて参照してください。

  • GMO Flatt Security株式会社
    〒150-8512 東京都渋谷区桜丘町26-1 セルリアンタワー6階

    サービスの特長

    導入事例料金

    お役立ち情報