Amazon-Web-Services
AWS 上傳儲存桶策略:限製文件類型
I4m 將 PHP 對像上傳到 S3。我想只接受 PDF 文件並拒絕具有其他副檔名的文件。
所以我寫了這個桶策略:
{ "Version": "2012-10-17", "Id": "Policy1464968545158", "Statement": [ { "Sid": "Stmt1464968483619", "Effect": "Allow", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::MYBUCKET/*.pdf" } ] }
但它不起作用,我的儲存桶仍然接受具有任何副檔名的文件。
我做錯什麼了 ?
謝謝
您的策略允許 putObject 在匹配的文件上
arn:aws:iam::aws:policy/AmazonS3FullAccess
目前如下所示:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
如果您將此附加到您的 AWS IAM 使用者或 IAM 角色,您將能夠將所有對象放入具有該策略的儲存桶中。
該元素
NotResource
可能在此處有用,請參見此處。工作策略可能如下所示:{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "s3:putObject", "NotResource": [ "arn:aws:s3:::MYBUCKET/*.pdf" ] } }
這將拒絕任何人的 putObjects,如果那些不 macht