ユーザーが特定の S3 バケットにファイルを GET および PUT できるようにするために、事前に署名された URL を発行する必要があります。IAM ユーザーを作成し、そのキーを使用して署名付き URL を作成し、そのユーザーに埋め込まれたカスタム ポリシーを追加しました (以下を参照)。生成された URL を使用するAccessDeniedと、ポリシーでエラーが発生します。ポリシーを IAM ユーザーに追加するFullS3Accessと、ファイルは同じ URL で GET または PUT できるため、明らかにカスタム ポリシーが不足しています。それの何が問題なのですか?
私が使用しているカスタムポリシーは次のとおりです。
{
"Statement": [
{
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::MyBucket"
]
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:DeleteObject",
"s3:GetBucketPolicy",
"s3:GetLifecycleConfiguration",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:PutBucketPolicy",
"s3:PutLifecycleConfiguration",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::MyBucket/*"
]
}
]
}