S3 ブロックパブリックアクセス (BPA) 機能を使うと、すべての Amazon S3 バケットへのパブリックアクセスをアカウントレベルとバケットレベルでブロックできます。人為的ミスを避けるためアカウントレベルの BPA 有効化が新規アカウントのデフォルト設定です。また組織がオープンな S3 バケットを必要としない場合は、すべてのアカウントでアカウントレベルのブロックパブリックアクセスを有効にしてください。アカウントがオープンな S3 バケットを必要とする場合は、パブリックにする必要のないすべての S3 バケットがブロックされていることを確認してください。
S3 バケットからデータをパブリックに共有できるのは、BPA を解除した場合のみです (例: 静的ウェブサイトを S3 バケットで直接作成する場合など)。BPA はバケットポリシーよりも優先されます。
BPA の詳細は AWSブログ で確認できます。
BPA の解除を禁止したい場合は、サービスコントロールポリシー (SCP) を使用して解除を防ぐことができます。
多数のアカウントがある場合、AWS Security Hub の S3.1 コントロール でアカウントレベルの BPA が無効のアカウントを確認し、S3.8 コントロール でバケットレベルの BPA が無効の S3 バケットを確認できます。
本当に有効なユースケースがある場合を除き、AMI のパブリックアクセスをブロック と、EBS スナップショットのパブリックアクセスをブロック をすることをお勧めします。
EC2 コンソールのダッシュボードから「データ保護とセキュリティ」で AMI と EBS のパブリックアクセスをブロックできます。
S3 バケットをパブリックにする必要がある場合: