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