ストレージ
AWS Amplifyストレージモジュールは、パブリック、保護、またはプライベートストレージバケット内のアプリのユーザーコンテンツを管理するためのシンプルなメカニズムを提供します。ストレージカテゴリには、Amazon S3(Simple Storage Service)の組み込みサポートが含まれています。
S3の主要概念
Amazon S3は、データをコンテナバケット内のオブジェクトとして保存します。オブジェクトは、ファイルと、オプションでそのファイルを説明するメタデータで構成されます。Amazon S3にオブジェクトを保存するには、保存したいファイルをバケットにアップロードします。ファイルをアップロードするときに、オブジェクトのアクセス権限とメタデータを設定できます。
バケットはオブジェクトのコンテナです。1つ以上のバケットを持つことができます。各バケットについて、そのバケットへのアクセスを制御し(誰がバケット内のオブジェクトを作成、削除、リストできるか)、そのバケットとそのオブジェクトのアクセスログを表示し、Amazon S3がバケットとその内容を保存する地理的領域を選択できます。
AWSサービスへのアクセス
ストレージの場合、ストレージアセットへのユーザーレベルのアクセスを理解することが重要です。Amplifyは、S3バケットのプロビジョニングを通じた抽象化に役立ちますが、顧客にとって適切なレベルの制御を理解することが重要です。
amplify add storageを実行すると、CLIはCognito Identity Pool Roleを使用してバケットに適切なIAMポリシーを構成します。また、CRUD(作成、更新、読み取り、削除)ベースのアクセス権限を追加するオプションがあり、認証済みユーザーとゲストユーザーにはこれらのレベル内で制限されたアクセス権限が付与されます。