メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

Amazon S3 がリクエストを許可する方法

Amazon S3 は、バケットまたはオブジェクトオペレーションなどのリクエストを受け取ると、まずリクエスタに必要なアクセス許可があることを確認します。Amazon S3 は、関連するすべてのアクセスポリシー、ユーザーポリシー、およびリソースベースのポリシー(バケットポリシー、バケット ACL、オブジェクト ACL)を評価して、リクエストを許可するかどうかを決めます。シナリオの例を次に示します。

  • リクエスタが IAM ユーザーの場合、Amazon S3 は、オペレーションを実行するために必要なアクセス許可を、ユーザーが属する親 AWS アカウントがユーザーに与えているかどうかを決定する必要があります。さらに、リクエストがバケットオペレーション(バケット内容のリストを取得するリクエストなど)の場合、Amazon S3 は、オペレーションを実行するためのアクセス許可をバケット所有者がリクエスタに付与していることを確認する必要があります。

    注記

    IAM ユーザーがリソースに対して特定のオペレーションを実行するには、自分が属する親 AWS アカウントと、リソースを所有する AWS アカウントの両方からのアクセス許可が必要です。

  • バケット所有者が所有していないオブジェクトに対するオペレーションのリクエストの場合は、リクエスタがオブジェクトの所有者からのアクセス許可を持つことの確認に加えて、Amazon S3 はバケットポリシーもチェックして、バケット所有者がオブジェクトに対する明示的な拒否を設定していないことを確認する必要があります。

    注記

    バケット所有者(請求の支払者)は、オブジェクトの所有者にかかわらず、バケット内のオブジェクトへのアクセスを明示的に拒否できます。また、バケットの所有者は、バケット内の任意のオブジェクトを削除できます。

Amazon S3 は、リクエストを受け取ると、リクエスタが特定のオペレーションを実行するアクセス許可があるかどうかを確認するため、次の操作を順に実行します。

  1. 関連するすべてのアクセスポリシー(ユーザーポリシー、バケットポリシー、ACL)を実行時に評価対象のポリシーのセットに変換します。

  2. 作成したポリシーのセットを次の手順で評価します。各ステップで、Amazon S3 は、コンテキストの権限に基づいて、ポリシーのサブセットを特定のコンテキストで評価します。

    1. ユーザーコンテキスト – ユーザーコンテキストでは、ユーザーが属する親アカウントがコンテキストの権限です。

      Amazon S3 は、親アカウントが所有するポリシーのサブセットを評価します。このサブセットには、親がユーザーにアタッチするユーザーポリシーが含まれています。親がリクエスト内のリソース(バケット、オブジェクト)も所有している場合、Amazon S3 は、対応するリソースポリシー(バケットポリシー、バケット ACL、オブジェクト ACL)も同時に評価します。

      ユーザーは、オペレーションを実行するための親アカウントからのアクセス許可を持つ必要があります。

      このステップは、リクエストが AWS アカウント内のユーザーによって行われた場合にのみ適用されます。リクエストが AWS アカウントのルート認証情報を使用して作成された場合、Amazon S3 はこのステップをスキップします。

    2. バケットコンテキスト – バケットコンテキストでは、Amazon S3 はバケットを所有する AWS アカウントが所有するポリシーを評価します。

      バケットオペレーションに対するリクエストの場合、リクエスタはバケット所有者からのアクセス許可を持つ必要があります。リクエストがオブジェクトを対象にしている場合、Amazon S3 は、バケット所有者が所有するすべてのポリシーを評価して、バケット所有者がオブジェクトへのアクセスを明示的に拒否していないかどうかを確認します。明示的な拒否セットが存在する場合、Amazon S3 はリクエストを許可しません。

    3. オブジェクトコンテキスト - オブジェクトに対するリクエストの場合、Amazon S3 はオブジェクト所有者が所有するポリシーのサブセットを評価します。

以下のセクションでは詳細を説明し、例を挙げます。

最初に、Amazon S3 リソースへのアクセスを管理するためのオプションを説明している概要トピックをお読みになることをお勧めします。詳細については、「Amazon S3 リソースへのアクセス許可の管理の概要」を参照してください。その後、個々のアクセスポリシーオプションの詳細について、以下のトピックを参照してください。

このページの内容: