2011-11-29 6 views
6

Amazon S3を使用して、ユーザーがiPhoneから写真をアップロードし、一般に閲覧できるようにする予定です。バケツに写真を匿名でアップロードするためのAmazon S3バケットポリシー

私は、バケットポリシーでこれらのセキュリティ制約を設定する方法を理解するいくつかの問題を抱えています:

  • 誰もがすべてのファイルを読むことができます。
  • 新しいファイルを最大256Kアップロードすることができます。
  • 誰もファイルを削除できません。
  • 誰もファイルを変更できません。

答えて

8

私は最後にそれを試してみました。唯一のことは、ファイルの追加とファイルの更新に異なる権限を設定できないことです。それらはすべてs3:PutObjectでカバーされています。また、ファイルサイズを制限することもできないようです。

{ 
    "Version": "2008-10-17", 
    "Id": "policy", 
    "Statement": [ 
     { 
      "Sid": "allow-public-read", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     }, 
    { 
      "Sid": "allow-public-put", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:PutObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     } 
    ] 
} 
+0

最大サイズ制限を設定するオプションはありませんか? – Rizon

0

おそらく以下のようなものが動作しますが、アップロードサイズを制限できるかどうかはわかりません。

{ 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal":"*", 
     "Action": [ 
     "s3:GetObject", 
     "s3:PutObject", 
     "s3:GetObjectAcl", 
     "s3:PutObjectAcl" 
     ], 
     "Resource": "arn:aws:s3:::mybucket/*", 
     "Condition": {} 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "s3:ListBucket", 
     "s3:GetBucketAcl" 
     ], 
     "Resource": "arn:aws:s3:::mybucket", 
     "Condition": {} 
    } 
    ] 
} 
+0

なぜ* Aclアクションを指定しますか? –

関連する問題