
S3の事前署名付きURLとは?
S3はデフォルトで全てのオブジェクトはプライベートでしか利用はできない仕様となっていて、
オブジェクト所有者だけがこれらのオブジェクトにアクセスする権限を持っています。
オブジェクト所有者は、オプションで自分のセキュリティ資格情報を使用して事前署名されたURLを作成して、
オブジェクトをダウンロードする時間制限付きの権限を付与することで、他のユーザーとオブジェクトを共有できます。
事前署名付きURLとは、S3のオブジェクトに対して、URLを知っていれば誰でもダウンロードできる機能です。
事前署名付きURL の作成者が対象となるオブジェクトへのアクセス許可を持っている場合、
事前署名付きURL を使用して、URLで識別されるオブジェクトにアクセスすることができます。
オブジェクトをアップロードするための事前署名付き URL を受け取った場合、
オブジェクトをアップロードすることができるのは、事前署名付き URL の作成者がそのオブジェクトをアップロードするのに必要な権限を持っている場合のみです。
事前署名付きURLで何ができる?メリットは?
署名付きURLを設定することでオブジェクトのリンク利用を署名を有しているユーザーに限定することができます。
ユースケース
サイト訪問者にパブリックドメインとなっている画像データを提供するアプリケーションを開発・運用していて、
画像データはS3に蓄積されており、ユーザーの要求に応じて一時的に表示させる仕組みにしたいと考えていて、
この画像のリンクを無断に利用されないように保護する場合など。
事前署名付き URL の作成
事前署名付き URL を作成するときは、セキュリティ認証情報を提供する必要があります。
次にバケット名、オブジェクトキー、HTTP メソッド (オブジェクトのアップロードの PUT)、
および有効期限の日時を指定する必要があります。
また、署名付きURL は、指定した期間のみ有効です。