2012-10-31 15 views
7

私はAmazon S3バケットを使用して静的なウェブサイトを提供しています。私は特定の "フォルダ"(本当にキーは、S3にはフォルダがないので)へのアクセスを制限することができますが、私が実際にやりたいことは、ファイル拡張子によるアクセスを制限することです。拡張子に基づいてS3のファイルを制限するにはどうすればよいですか?

つまり、「このバケット内のすべてのファイルに対して、そのファイルがhtm/css/js/pngで終わる限り、誰にでも読み取りアクセスを許可する」と言いたいと思います。それは可能ですか?

(私が誤って.gitファイルなどをアップロードして世界に公開したくないということが懸念されていますが、このようなファイルが表示されないようにセキュリティポリシーを設定すると、誤って間違ったファイルをアップロードすることは絶対にありません)。

+0

Stack OverflowでS3についてよく知っている人はいませんか?それとも私の質問に何か間違っていますか? – machineghost

答えて

15

はい、可能です。 Bucket Policyと書くことができます。正規表現を使用して、ポリシーによって影響を受けるオブジェクトを定義することができます(examples)。これはブケットbucketのすべてjpgファイルへのアクセスを拒否します

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "auniqueid", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*.jpg" 
     } 
    ] 
} 

あなたのポリシーは、のようなものになります。

+0

これらのリンクをありがとうが、あなたがリンクしている例はどれも、ファイル拡張子で制限する方法を示していません。 – machineghost

+0

@machineghostが私の答えに例を追加しました。 – lstern

+0

素晴らしいです、ありがとうございます! – machineghost

関連する問題