以前、
S3を利用して、WEBサイトを公開しました。

<以前の記事>
AWSを使ってみよう!(その1) – アカウント作成から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 と合わせて使用でき、
 サードパーティ製のテクノロジーと統合するのも簡単です。

AWSを使ってみよう!の連載一覧(全21件)

東京都東日本橋の株式会社プレスマンPRESSMAN*Tech