以前、
S3を利用して、WEBサイトを公開しました。
<以前の記事>
AWSを使ってみよう!(その1) - アカウント作成からWEBサイトの公開
S3には、
各種のアクセス制限を掛ける方法があります。
バケットポリシーの例
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-bucket-policies.html
今回は、
『特定のIPアドレスへのアクセスの制限』と
『特定のHTTP Referrerへのアクセスの制限』
を試してみたいと思います。
S3 -> バケット選択 -> プロパティ -> アクセス許可
から
『バケットポリシーの編集』
を開きます。
1.特定のIPアドレスへのアクセスの制限
以下のように記します。
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": ""
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::pmcloud.pm1932.jp/",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
".../32",
".../32"
]
}
}
}
]
}
※会社のIPアドレスが2つあったので、IPアドレスを2つ書いています。
以前の設定内容と変わっている部分は、
『Condition』
になります。(追加)
これで、
社内からしかアクセスが出来ませんね。
特定のIPアドレスへのアクセスの制限
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-3
2.特定のHTTP Referrerへのアクセスの制限
以下のように記します。
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": ""
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::pmcloud.pm1932.jp/",
"Condition": {
"StringLike":{"aws:Referer":["http://www.pressmantech.com/","http://pressmantech.com/"]}
}
}
]
}
特定のHTTP Referrerへのアクセスの制限
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-4
こちらのブログから、アクセスが可能です。
http://pmcloud.pm1932.jp.s3-website-ap-northeast-1.amazonaws.com/
この方法で、
リンクを書いたページに、
基本認証を掛ければ、利用方法も広がるかと思います。
※IPでも良いですね。
以下にAWSがアピールしているメリットを記します。
耐久性
オブジェクトの 99.999999999% の耐久性を実現するように設計されています。
http://aws.amazon.com/jp/s3/details/#durability
低コスト
お支払いは必要な分だけ。最低料金や前払い料金はありません。
http://aws.amazon.com/jp/s3/pricing/
可用性
Amazon S3 は、1 年でオブジェクトの可用性が 99.99% になるように設計されています。
安全性
Amazon S3 は、SSL でのデータ転送と、アップロード後のデータの自動暗号化をサポートします。
http://aws.amazon.com/s3/details#security
イベント通知の送信
Amazon S3 は、オブジェクトがアップロードされたときにイベント通知を送信できます。
https://aws.amazon.com/s3/details/#events
高性能
Amazon S3 は、ネットワークのスループットと回復性を最大化するのに役立つマルチパートアップロードをサポートし、
エンドユーザーに近い AWS リージョンを選択してデータを保存することでネットワークレイテンシーを最小にできます。
また、Amazon S3 は、レイテンシーが短く、データ転送速度が速く、最低使用料のないエンドユーザー向けの
コンテンツ配信ウェブサービスである Amazon CloudFront と統合されます。
統合済み
Amazon S3 はその他の AWS サービスと統合されているため、Amazon S3 のデータを簡単にアップロード/ダウンロードでき、
さまざまな AWS サービスを使用するソリューションの構築が容易になります。
Amazon S3 の統合には、Amazon CloudFront、Amazon Kinesis、Amazon RDS、Amazon Glacier、Amazon EBS、Amazon DynamoDB、
Amazon Redshift、Amazon Route 53、Amazon EMR、AWS Lambda が含まれます。
使いやすさ
Amazon S3 は、ウェブベースの管理コンソール、モバイルアプリケーション、完全な REST API や SDK と合わせて使用でき、
サードパーティ製のテクノロジーと統合するのも簡単です。