Amazon S3の署名付きURLを今更ながら試してみる

## はじめに
Amazon S3の機能、「署名付きURL」を実際に試してみます。
「URLを知っている人だけがアクセスできるよ」ってやつですね。
参考書や資格の問題集によく出てくると思いますが、これまで試したことがありませんでした。

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html

## やってみた
マネジメントコンソールにアクセスし、S3のページにアクセスします。
オレンジ色の「バケットを作成」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/1c4115a8-2cf0-b1fd-0433-0bb94ab8609a.png)

バケットタイプは「汎用」とします。
バケット名はグローバルでユニーク（世界に一つだけのバケット名）にしなければなりません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/5d543e02-c7b8-6e0b-34e0-8542e125b46d.png)

「ACL無効（推奨）」を選択肢、パブリックアクセスをブロックする設定にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/a041965f-08f2-4dff-ac8d-43e353d82b90.png)

バージョニングは無効にし、タグも特に設定せず、暗号化はSSE-S3とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/66b8d983-ece8-4307-36bd-bdfe4f21f348.png)

「詳細設定」をクリックすると、オブジェクトロックの設定が表示されます。
無効にし、「バケットを作成」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/bdf50d99-8880-1266-7fe3-37939f28cd6f.png)

このようなメッセージが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/964be875-7f21-448c-5dbb-8b4a0750915b.png)

作成したバケット名（uccy-test）をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/3b07172b-ab2d-7f8f-0806-b5e1e2b46986.png)

S3バケットにアップロードしたいファイルをドラッグアンドドロップします。
今回は「test.jpg」というファイルをアップロードします。
オレンジの「アップロード」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/9d415aec-f809-6161-0868-928eb4ddf876.png)

このようなメッセージが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/265ee8c1-7e7a-06ef-da13-7fab928de179.png)

test.jpgがアップロードされました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/9a62f38f-5ecf-1d4e-9faa-863e06bdb2f1.png)

test.jpgのチェックボックスにチェックを入れ、「アクション」→「署名付きURLで共有」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/38057380-3be1-c24c-fadd-c5afacc2cc8f.png)

URLの有効期限を設定します。今回は10分にしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/23042132-3c5c-f849-7a57-0cf1859df6d9.png)

このようなメッセージが表示されます。
どうやらクリップボードにURLがコピーされるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/0ed7fc27-04ee-8cf0-5188-df043aee3d0f.png)

Win+Vでクリップボードを表示すると、確かにそれっぽいURLがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/4762a704-9e68-c400-b889-92c39bdd2b1c.png)

ブラウザからアクセスしてみます。
test.jpg（**私がネット麻雀で四暗刻を和了したときのスクショ**）が無事に表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/c1c4d2fd-d995-c804-e3d5-a54f35a5fc91.png)

試しにスマホでもアクセスしてみます。
意図した画像が表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/58d3466c-ef42-7ddb-0bed-3b2f5ea2b91b.png)

有効期限の10分が経過した後に再度アクセスすると、画像ではなく、以下のテキストが表示されました。
有効期限の設定が上手くいってるようですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/35db81ab-0622-047a-29e8-a977c626e3b8.png)

スマホでも同様です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3848705/3c3a02bf-ca8e-203f-9927-8e3e18ec1177.png)


## おわりに
今回はAmazon S3の署名付きURLを試してみました。
署名付きURLはテキストや問題集でよく出てくるので知識としては知っていましたが、実際にやってみることで、より理解が深まったと思います！