2016-04-05 11 views
-1

私はAWS S3バケットを持っています。私のファイルの大半はURL(私の画像やビデオのリンクなど)からアクセスできます。私はURLからアクセスしたくない他のファイルを持っています。これらはオーディオファイル(mp3、wav、flacなど)です。私は、ユーザーがブラウザに提供するPHPスクリプトによって自分のオーディオファイルにアクセスできるようにしたい。多かれ少なかれ、ファイルが存在するAWSバケットのURLを推測することで、ユーザーがこれらのファイルにアクセスできるようにする必要はありません。AWS S3ブラウザのURLからファイルをダウンロードできないようにする

私は困惑しています。誰でも正しい方向に向けることができます。ありがとう。

答えて

0

あなたのようにバケットの下にあなたのコンテンツを構造化することができます

  • 公共
  • プライベート

とに似たバケットポリシーの作成:

{ 
    "Id": "Policy1459891655092", 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1459891443631", 
     "Action": [ 
     "s3:GetObject" 
     ], 
     "Effect": "Allow", 
     "Resource": "arn:aws:s3:::bucketname/public/*", 
     "Principal": "*" 
    } 
    ] 
} 

変更 "bucketnameを"実際のs3バケット名に変更します。

2

あなたがファイルに誰か一時的にアクセスできるようにファイルをプライベートにして署名のURLを生成することができます:Share an Object with Others

それとも、アクセスのみにそれらをできるように、直接ファイルにアクセスする人を制限するポリシーを設定できますそれはウェブサイトからリンクされた場合は、ファイル:Restricting Access to a Specific HTTP Referrer

それとも、あなたのPHPサーバーにファイルをダウンロードつまり、あなたのPHPスクリプトを介してそれらを送信し、そこからファイルの内容を返すことによって、これらのファイルを提供することができます。その場合は、S3でそれらのファイルを非公開にすることも、完全に非公開の別のバケットに移動することもできます。私はあなたのサーバーに多くの負荷をかけるので、このメソッドをお勧めしません。

関連する問題