S3 バケットへのパブリックアクセスブロック設定の構成 - Amazon Simple Storage Service

S3 バケットへのパブリックアクセスブロック設定の構成

Amazon S3 のパブリックアクセスブロックは、Amazon S3 のリソースへのパブリックアクセスの管理に役立つ、アクセスポイント、バケット、アカウントの設定を提供します。デフォルトでは、新しいバケット、アクセスポイント、およびオブジェクトはパブリックアクセスを許可しません。

詳細については、「Amazon S3 ストレージへのパブリックアクセスのブロック」を参照してください。

S3 コンソール、AWS CLI、AWS SDK、および REST API を使用して、バケットに対してパブリックアクセスブロック設定を構成できます。詳細については、関連するセクションを参照してください。

アカウント内のすべてのバケットに対してパブリックアクセスブロック設定を構成するには、「アカウントのパブリックアクセスブロック設定の構成」をご参照ください。アクセスポイントのパブリックアクセスブロック設定については、「アクセスポイントでのパブリックアクセスブロックオペレーションの実行」をご参照ください。

Amazon S3 パブリックアクセスブロックを使用して、S3 バケット内のデータへのパブリックアクセスを許可しないようにアプリケーションを設定します。このセクションでは、1 つ以上の S3 バケットに対するブロックパブリックアクセス設定の編集方法について説明します。AWS CLI、AWS SDK、および Amazon S3 REST API を使用したパブリックアクセスのブロックについて詳細は、「Amazon S3 ストレージへのパブリックアクセスのブロック」を参照してください。

[Buckets] (バケット) リストでバケットがパブリックにアクセス可能であるかどうかを確認できます。[Access] (アクセス) 列で、Amazon S3 はバケットのアクセス権限を次のようにラベル付けします。

  • パブリック – すべてのユーザーにオブジェクトのリスト権限、オブジェクトの書き込み権限、読み取りと書き込み権限のうちの 1 つまたは複数が与えられています。

  • オブジェクトは公開可能 – バケットはパブリックではありませんが、適切なアクセス許可を持つユーザーは、オブジェクトへのパブリックアクセスを許可できます。

  • バケットとオブジェクトは非公開 – バケットとオブジェクトにはパブリックアクセス許可がありません。

  • このアカウントの承認済ユーザーのみ – パブリックアクセスを許可するポリシーがあるため、アクセスはこのアカウントおよび AWS のサービスプリンシパルの IAM ユーザーおよびロールに限定されます。

アクセスタイプでバケット検索をフィルタリングすることもできます。[バケット検索] バーの横にあるドロップダウンリストからアクセスタイプを選択します。

単一の S3 バケットを対象に Amazon S3 パブリックアクセスブロック設定を編集するには

単一の S3 バケットのパブリックアクセス設定を変更する必要がある場合は、以下の手順に従ってください。

  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [バケット名] リストで、目的のバケットの名前を選択します。

  3. [Permissions] を選択します。

  4. [Edit] (編集) をクリックして、バケットのパブリックアクセス設定を変更します。4 つの Amazon S3 パブリックアクセスブロック設定の詳細については、「パブリックアクセスブロック設定」を参照してください。

  5. 変更する設定を選択して、[保存] を選択します。

  6. 確認を求められたら、「confirm」と入力します。次に、[確認] を選択して変更を保存します。

バケットを作成するとき、Amazon S3 パブリックアクセスブロックの設定を変更できます。詳細については、「バケットの作成」を参照してください。

バケットでブロックパブリックアクセス操作を実行するには、AWS CLI サービス s3api を使用します。このサービスを使用するバケットレベルの操作は次のとおりです。

  • PUT PublicAccessBlock (バケット対象)

  • GET PublicAccessBlock (バケット対象)

  • DELETE PublicAccessBlock (バケット対象)

  • GET BucketPolicyStatus

詳細と例については、AWS CLI リファレンス put-public-access-block を参照してください。

Java
AmazonS3 client = AmazonS3ClientBuilder.standard() .withCredentials(<credentials>) .build(); client.setPublicAccessBlock(new SetPublicAccessBlockRequest() .withBucketName(<bucket-name>) .withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration() .withBlockPublicAcls(<value>) .withIgnorePublicAcls(<value>) .withBlockPublicPolicy(<value>) .withRestrictPublicBuckets(<value>)));
重要

この例は、AmazonS3 クライアントクラスを使用するバケットレベルの操作にのみ関係します。アカウントレベルの操作については、次の例を参照してください。

Other SDKs

他の AWS SDK の使用の詳細については、「AWS SDK およびエクスプローラーを使用して Amazon S3 で開発する」を参照してください。

REST API での Amazon S3 のパブリックアクセスブロックの使用については、Amazon Simple Storage Service API リファレンスの以下のトピックを参照してください。