Требуется разрешение для deleteAfterRead на компоненте Camel S3 - PullRequest
0 голосов
/ 16 февраля 2020

Я использую компонент Camel S3 для чтения объектов, загруженных в конкретную корзину S3. Объекты успешно прочитаны.

Однако использование « deleteAfterRead = true » завершается неудачно с 403 (нет разрешения)

Я предоставил все разрешения в категории «запись» в корзине , но я все еще получаю ошибку.

Прямо сейчас это разрешения. Есть идеи, что я делаю не так?

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:ListBucketMultipartUploads",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::my-camel-bucket"
        },

        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*/*"
        }
    ]
}

1 Ответ

0 голосов
/ 16 февраля 2020

Я нашел ответ: для действия s3:DeleteObject мне нужно было указать ресурс с * в конце. Итак, arn:aws:s3:::my-camel-bucket/* вместо простого arn:aws:s3:::my-camel-bucket

Однако для ListBucket мне нужно было только имя корзины. Итак, что у меня сейчас работает, так это:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::my-camel-bucket"
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": "s3:DeleteObject",
      "Resource": "arn:aws:s3:::my-camel-bucket/*"
    },
    {
      "Sid": "VisualEditor2",
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::*/*"
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...