チュートリアル: ポリシーを使用した Amazon S3 リソースへのアクセスの管理 - Amazon Simple Storage Service

チュートリアル: ポリシーを使用した Amazon S3 リソースへのアクセスの管理

このトピックでは、Amazon S3 リソースへのアクセスの付与について、次の基本的なチュートリアル例を示します。これらの例では、AWS Management Console を使用してリソース (バケット、オブジェクト、ユーザー) を作成し、アクセス許可を付与します。また、これらの例では、コマンドラインツールを使用してアクセス許可を確認する方法を示します。コードを記述する必要はありません。AWS Command Line Interface (AWS CLI) と AWS Tools for Windows PowerShell の両方を使用したコマンドを使用することができます。

  • 例 1: バケット所有者がユーザーにバケットのアクセス許可を付与する

    デフォルトでは、使用するアカウントで作成した IAM ユーザーにアクセス許可はありません。この演習では、バケットおよびオブジェクト操作を実行するためのアクセス許可をユーザーに付与します。

  • 例 2: バケット所有者がクロスアカウントのバケットのアクセス許可を付与する

    この演習では、バケット所有者 (アカウント A) が別の AWS アカウント (アカウント B) に対してクロスアカウントの許可を付与します。次に、アカウント B でこれらの許可を、そのアカウントのユーザーに委任します。

  • オブジェクト所有者とバケット所有者が同じではない場合のオブジェクトのアクセス許可の管理

    このシナリオ例は、バケット所有者が他のユーザーにオブジェクトのアクセス許可を付与しますが、バケット内のすべてのオブジェクトをバケット所有者が所有しているわけではないという場合です。バケット所有者にはどのようなアクセス許可が必要になり、それらのアクセス許可をどのように委任できるのでしょうか。

    バケットを作成する AWS アカウント は、バケット所有者と呼ばれます。この所有者は、オブジェクトをアップロードする許可を他の AWS アカウントに付与することができ、オブジェクトを作成する AWS アカウントがオブジェクトを所有しています。バケット所有者には、他の AWS アカウントで作成されたオブジェクトに対する許可はありません。バケット所有者がオブジェクトへのアクセス権を付与するバケットポリシーを作成する場合、そのポリシーは他のアカウントが所有するオブジェクトには適用されません。

    この場合、オブジェクト所有者は、オブジェクト ACL を使用して、まずバケット所有者にアクセス許可を付与する必要があります。バケット所有者は、以下の例に示すように、これらのオブジェクトの許可を、他のユーザー、自分のアカウントのユーザー、または別の AWS アカウントに委任できます。

チュートリアル例を実行する前に

これらの例では、AWS Management Console を使用してリソースを作成し、アクセス許可を付与します。許可をテストするために、この例ではコマンドラインツール AWS CLI および AWS Tools for Windows PowerShell を使用するため、コードを書く必要はありません。アクセス許可をテストするには、これらのツールのいずれかをセットアップする必要があります。詳細については、「チュートリアル用のツールのセットアップ」を参照してください。

さらに、これらの例では、リソースの作成時に AWS アカウントのルートユーザー認証情報を使用しません。代わりに、アカウントに、これらのタスクを実行するための管理者ユーザーを作成します。

管理者ユーザーを使用したリソースの作成とアクセス許可の付与について

AWS Identity and Access Management (IAM) では、AWS アカウントのルートユーザー認証情報を使用してリクエストを行わないようお勧めします。代わりに、IAM ユーザーまたはロールを作成してフルアクセスを許可し、そのユーザーまたはロールの認証情報を使用してリクエストを行います。このユーザーを管理者ユーザーまたはロールと呼びます。詳細については、AWS 全般のリファレンス の「AWS アカウントのルートユーザー の認証情報と IAM ID」と IAM ユーザーガイドの「IAM のベストプラクティス」を参照してください。

このセクションのすべてのチュートリアル例では、管理者ユーザーの認証情報を使用します。まだ AWS アカウントの管理者ユーザーを作成していない場合は、トピックでその方法を説明します。

ユーザーの認証情報を使用して AWS Management Console にサインインするには、IAM ユーザーのサインイン URL を使用する必要があります。IAM コンソールは、AWS アカウント にこの URL を提供します。トピックで、この URL を取得する方法を示します。