バケットポリシーの使用 - Amazon Simple Storage Service

バケットポリシーの使用

バケットポリシーは、Amazon S3 バケットとその中のオブジェクトへのアクセス許可を付与できるリソースベースのポリシーです。バケット所有者のみが、ポリシーをバケットに関連付けることができます。バケットに添付された許可は、バケット所有者が所有するバケットのすべてのオブジェクトに適用されます。これらの許可は、他の AWS アカウント が所有するオブジェクトには適用されません。

S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、バケットにアップロードされたオブジェクトの所有権を制御し、ACL を無効または有効にするのに使用できます。デフォルトでは、オブジェクト所有権は[バケット所有者の強制] 設定に設定され、すべての ACL は無効になっています。バケット所有者は、バケット内のすべてのオブジェクトを所有し、ポリシーのみを使用してオブジェクトへのアクセスを管理します。

バケットポリシーは、JSON ベースの IAM ポリシー言語を使用しています。バケットポリシーを使用して、バケット内のオブジェクトに対する許可を追加または拒否できます。バケットポリシーは、ポリシーの要素に基づいて、リクエストを許可または拒否します。これらの要素には、リクエスタ、S3 アクション、リソース、およびリクエストの側面または条件 (リクエストの作成に使用された IP アドレスなど) が含まれます。

例えば、次のことを実行するバケットポリシーを作成できます。

  • S3 バケットにオブジェクトをアップロードするためのクロスアカウントアクセス許可を付与するクロスアカウントアクセス許可を付与する

  • バケット所有者であるユーザーが、アップロードされたオブジェクトを完全に管理できるようにする

詳細については、「バケットポリシーの例」を参照してください。

このセクションのトピックでは、具体例と、S3 コンソールにバケットポリシーを追加する方法について説明します。IAM ユーザーポリシーの詳細については、IAM ユーザーポリシーとロールポリシーの使用 を参照してください。バケットポリシー言語の詳細については、「Amazon S3 のポリシーとアクセス許可」を参照してください。