ACL によるアクセス管理 - Amazon Simple Storage Service

ACL によるアクセス管理

アクセスコントロールリスト (ACL) はリソースベースのオプションの 1 つであり (アクセス管理の概要 を参照)、バケットとオブジェクトへのアクセスを管理するために使用できます。ACL を使用して、基本的な読み取り/書き込み許可を他の AWS アカウントに付与できます。ACL によるアクセス許可の管理にはいくつかの制限があります。

例えば、アクセス許可を付与できるのは他の AWS アカウント だけで、自分のアカウントのユーザーには付与できません。条件付きアクセス許可を付与することはできず、アクセス許可を明示的に拒否することもできません。ACL が適しているのは、特定のいくつかのシナリオです。例えば、バケット所有者が他の AWS アカウント にオブジェクトのアップロードを許可している場合、これらのオブジェクトへのアクセス許可を管理する方法は、オブジェクトを所有する AWS アカウント によるオブジェクト ACL を使用する以外にありません。

デフォルトでは、別の AWS アカウント がオブジェクトを S3 バケットにアップロードすると、そのアカウント (オブジェクトライター) がオブジェクトを所有し、そのオブジェクトにアクセスでき、ACL を介して他のユーザーにそのオブジェクトへのアクセスを許可できます。オブジェクトの所有権を使用してこのデフォルトの動作を変更し、ACL を無効にして、バケット所有者としてバケット内のすべてのオブジェクトを自動的に所有することができます。その結果、データのアクセスコントロールは、IAM ポリシー、S3 バケットポリシー、仮想プライベートクラウド (VPC) エンドポイントポリシー、AWS Organizations サービスコントロールポリシー (SCP) などのポリシーに基づいています。

Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなり、オブジェクトごとに個別にアクセスを制御する必要がある異常な状況を除き、ACL を無効にすることをお勧めします。オブジェクトの所有権を使用すると ACL を無効にして、アクセスコントロールに関するポリシーに依存できます。ACL を無効にすると、別の AWS アカウント によってアップロードされたオブジェクトを含むバケットを簡単に維持できます。バケット所有者は、バケット内のすべてのオブジェクトを所有し、ポリシーを使用してオブジェクトへのアクセスを管理できます。詳細については、オブジェクトの所有権の制御とバケットの ACL の無効化。 を参照してください。

重要

バケットが S3 オブジェクト所有権のバケット所有者強制設定を使用している場合、ポリシーを使用してバケットとその中のオブジェクトへのアクセスを許可する必要があります。ACL の設定または ACL の更新の要求に失敗すると、AccessControlListNotSupported エラーコードを返します。ACL の読み取り要求は引き続きサポートされています。

ACL の詳細については、次のトピックを参照してください。