share facebook facebook twitter menu hatena pocket slack

2015.01.23 FRI

Amazon S3にてBasic認証をかける

廣山 豊

WRITTEN BY 廣山 豊

cloudpack廣山です。

Amazon S3 で静的サイトをホスティングする、Static Website Hosting。
便利で高性能だが、Basic認証がかからない。

リバースプロキシを介することで対応してみる。
リバースプロキシサーバがボトルネックとなり、せっかくのStatic Website Hostingの性能も生かせないが、とりあえずやってみる。

描くまでもないが、構成はこんな感じ。
Amazon S3にてBasic認証をかける: 構成図

以下、手順。
① webサーバでリバースプロキシの設定を行う。


ProxyPass /hoge http://xxx.s3-website-ap-northeast-1.amazonaws.com/app
ProxyPassReverse /hoge http://xxx.s3-website-ap-northeast-1.amazonaws.com/app

② webサーバでリバースプロキシにBasic認証を設定


  
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch

    AuthType Basic
    AuthName "Secret Zone"
    AuthUserFile /xxx/yyy/.htpasswd
    Require user fuga
  
...

③ S3のバケットポリシーで、送信元IPアドレスをwebサーバに絞る。

{
    "Version": "2008-10-17",
    "Id": "Policy1403165896111",
    "Statement": [
        {
            "Sid": "Stmt1403165893575",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::xxx/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "##.##.##.##/##"
                    ]
                }
            }
        }
    ]
}

元記事はこちらです。
Amazon,S3にてBasic認証をかける

廣山 豊

廣山 豊

もっか修行中

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。