2011年9月6日火曜日

S3で一時的に(期限付きで)アクセスできるURLを作成

スズキです。

S3のオブジェクトに一時的に(期限付きで)アクセスする方法があります。

まずは下記のようにコンテンツが表示しないことを確認しておきます。
http://www.suz-lab.com.s3.amazonaws.com/form.html

次に下記スクリプトにて期限付き(5分間)のURLを作成します。

require_once("/opt/aws/php/sdk.class.php");

define("AWS_KEY"       , "ACCESS KEY");
define("AWS_SECRET_KEY", "SECRET KEY");

$s3 = new AmazonS3();
$s3->set_region(AmazonS3::REGION_US_E1);
$url = $s3->get_object_url("www.suz-lab.com", "form.html", "5 minutes");

var_dump($url);

そしてすぐに作成したURLにアクセスすると、今度は表示することを確認できます。

http://www.suz-lab.com.s3.amazonaws.com/form.html?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Expires=1315309784&Signature=H9jDp7k8jsRTiv%2BpudXztARIN5Q%3D

5分後、同じURLにアクセスすると今度は表示できなくなっています。。


認証してからのダウンロードなどで使えそうです!
--------
http://www.suz-lab.com

0 コメント: