Amazon S3 での Identity and Access Management
デフォルトでは、Amazon S3 のバケット、オブジェクト、関連サブリソース (例: lifecycle
設定や website
設定) などのすべてのリソースはプライベートです。リソースの所有者 (リソースを作成した AWS アカウント) のみが、リソースにアクセスできます。リソースの所有者は、アクセスポリシーを作成することにより、オプションで他のユーザーにアクセス許可を付与できます。
Amazon S3 で提供されているアクセスポリシーオプションは、リソースベースのポリシーとユーザーポリシーに大きく分類されます。リソース (バケットとオブジェクト) にアタッチするアクセスポリシーはリソースベースのポリシーと呼ばれます。例えば、バケットポリシーとアクセスポイントポリシーは、リソースベースのポリシーです。この他に、アカウント内のユーザーにアクセスポリシーをアタッチすることもできます。これはユーザーポリシーと呼ばれます。ユーザーは、リソースベースのポリシー、ユーザーポリシー、またはそれらの組み合わせを使用して、Amazon S3 リソースへのアクセス許可を管理できます。アクセスコントロールリスト (ACL) を使用して、ベーシックな読み取り/書き込みアクセス許可を他の AWS アカウント に付与できます。
S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、バケットにアップロードされる新しいオブジェクト所有権を制御し、ACL を無効にするのに使用できます。デフォルトでは、オブジェクト所有権はバケット所有者強制設定に設定されており、ALC はすべて無効になっています。ACL を無効にすると、バケット所有者はバケット内のすべてのオブジェクトを所有し、アクセス管理ポリシーのみを使用してデータへのアクセスを管理します。
Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなっています。オブジェクトごとに個別に制御する必要がある通常ではない状況を除き、ACL は無効にしておくことをお勧めします。ACL を無効にすると、誰がオブジェクトをバケットにアップロードしたかに関係なく、ポリシーを使用してバケット内のすべてのオブジェクトへのアクセスを制御できます。詳細については、「オブジェクトの所有権の制御とバケットの ACL の無効化。」を参照してください。
Amazon S3 オブジェクトおよびバケットへのアクセス管理の詳細については、以下のトピックを参照してください。