質問: サイバーダックを使用した大きなファイルのs3ファイルアクセスが拒否されました 以下のカスタムポリシーを使用すると、cyberduckを使用して大きなファイル(1g以上)をアップロードすると、次のエラーが発生します ファイルアクセスが拒否されました。サポートが必要な場合は、webホスティングサービスプロバイダーにお問い合わせください ただし、小さなファイル(約2億)のアップロードは問題ではありません。また、cyberduckと同じログイン資格情報を使用して新しいフォルダーとファイルを作成することにも問題はありません。だから私は間違いなく読み取り/書き込みアクセス権を持っています。また、事前定義されたポリシー(amazons3fullaccess)を追加すると、大きなファイルのアップロードも正常に機能します。私はここで少し迷っています。ポリシーで大きなファイルのアップロードをどのように制限していますか?何が足りないのですか?私の方針{ "version": "2012-10-17", "statement": [ { "effect": "allow", "action": [ "s3:listallmybuckets" ], "resource": "arn:aws:s3:::*" }, { "effect": "allow", "action": [ "s3:listbucket", "s3:getbucketlocation" ], "resource": "arn:aws:s3:::photoshoot2016" }, { "effect": "allow", "action": [ "s3:putobject", "s3:getobject", "s3:deleteobject" ], "resource": "arn:aws:s3:::photoshoot2016/*" } ] } amazons3fullaccessポリシー{ "version": "2012-10-17", "statement": [ { "effect": "allow", "action": "s3:*", "resource": "*" } ] }
回答: 調べてみると、amazonは1億を超えるすべてのファイルにマルチパートアップロードを使用することを推奨していることがわかりました( http://docs.aws.amazon.com/amazons3/latest/dev/uploadobjusingmpu.html )。私はサイバーダックが行われていると思います。最終的に私がしなければならなかったのは、マルチパートアップロードを有効にするために不足している権限(listmultipartuploadpartsとlistbucketmultipartuploads)を追加することです。今、私のポリシーは次のようになります{ "version": "2012-10-17", "statement": [ { "effect": "allow", "action": [ "s3:listmultipartuploadparts" ], "resource": "arn:aws:s3:::*" }, { "effect": "allow", "action": [ "s3:listbucket", "s3:getbucketlocation", "s3:listmultipartuploadparts", "s3:listbucketmultipartuploads" ], "resource": "arn:aws:s3:::photoshoot2016" }, { "effect": "allow", "action": [ "s3:putobject", "s3:getobject", "s3:deleteobject" ], "resource": "arn:aws:s3:::photoshoot2016/*" } ] } rest.get.uploadsに対して多くの「accessdenied243」エラーが発生したバケットロギングを有効にすることで、主な手がかりを見つけました。 amazonのpolicysimulatorは、何が欠けていて、どこに配置すべきかを理解するのにも非常に役立ちました。