0

ビデオを S3 バケットにアップロードし、別のユーザー (Zencoder サービス用) がファイルを取得してトランスコードされたファイルをバケットにアップロードできるようにするカスタム ポリシーを作成するアプリケーションがあります。

以下は、トランスコーディング中にユーザーに与える現在のカスタム ポリシーです。基本的に、バケット全体に完全な読み取り許可を与えますが、ユーザーが特定のネストされたフォルダーにファイルを PUT することのみを許可します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUserToListContentsOfBucket",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::MY-BUCKET"
      ]
    },
    {
      "Sid": "AllowUserToListContentsOfBucketFolders",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucketMultipartUploads",
        "s3:GetObjectAcl",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::MY-BUCKET/*"
      ]
    },
    {
      "Sid": "AllowUserS3ActionsOfSpecificFolder",
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectAcl",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::MY-BUCKET/some/nested/folder/*"
      ]
    }
  ]
}

これはほとんどの場合機能しますが、Zencoder によって転送された約 1,000 個のファイルの中で、通常、403 Forbiddenエラーで失敗する 1 つまたは 2 つのファイルがあります。エラーの前後にファイルが正しく転送されたため、理由はわかりません。

403 Access Deniedそのようなアクセス許可が提供されたときに、Amazon AWS S3 / IAM が を送信する理由はありますか?

4

0 に答える 0