かべぎわブログ

技術的なことについてかけたらいいな…

S3で有効期限付きの署名付きURLを作成する

S3で署名付きURLを利用してユーザごとに別々のURLを発行できるようにしてみたいと思います。

手順

対象のディレクトリに対するアクセス権を無効にする

まずは署名付きURLを利用するコンテンツを配置するディレクトリに誰もアクセス出来ないようにアクセス権を設定します。

基本的にはなにもしなくてOKです。
バケットポリシーに何も指定しなければ暗黙的拒否扱いになり、オブジェクトへのアクセスは拒否されます。

署名付きURLをつくる

署名付きURLを作成していきます。
例として「/wawawa/s3_index.html」というコンテンツに署名URLを作成していきます。

署名付きURLはAWSCLIを使うことで作成できます。
以下のようなコマンドを実行します。

aws s3 presign s3://kabegiwa-secret/wawawa/s3_index.html --expires-in 3600

実行すると以下のようなURLが応答されます。
URLはコマンドを実行するたびに新しいものが生成されます。

https://kabegiwa-secret.s3.amazonaws.com/wawawa/s3_index.html?AWSAccessKeyId=AKIAJ4M6D6DG7LQHQ53A&Expires=1511184525&Signature=mFMiY7%2BMoJm%2FOsWB1D6Wp0jWqj8%3D

ちなみにコマンドのオプションの--expires-in 3600はこの署名付きURLは3600秒有効だという意味です。
URLの生成から3600秒=1時間経過するとこのURLは無効となり、アクセスできなくなります。

Amazon Web Services企業導入ガイドブック -企業担当者が知っておくべきAWSサービスの全貌から、セキュリティ概要、システム設計、導入プロセス、運用まで-

Amazon Web Services企業導入ガイドブック -企業担当者が知っておくべきAWSサービスの全貌から、セキュリティ概要、システム設計、導入プロセス、運用まで-

  • 作者: 荒木靖宏,大谷晋平,小林正人,酒徳知明,高田智己,瀧澤与一,山本教仁,吉羽龍太郎
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2016/06/10
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る