с помощью serverless
создался бакет, приложение, API GW ... по ссылке могу открыть форму для загрузки файла и эндпоинт с уже загруженными файлами (сами файлы не отображаются). Но вот загрузить не могу, выдает 403. У приложения политика S3FullAccess подкючена... ЧЯДНТ?
а ты прочитать можешь?
не понял вопроса. Через консольку или вебморду AWS могу конечно ) А вот лямда не может (
Политика для лямбды?
если не можешь читать через код тогда неправильно политику накатил
три строки выше... там сложно ошибиться, как мне кажется. Я с ними уже и так и так и эдак пытался... ( Есть еще такой момент. serverless добавляет имя окружения, у меня API endpoint начинает выглядеть как https://ххх.execute-api.eu-west-3.amazonaws.com/dev/ - вот тут "dev" как-то лишнее... как его убрать? (
У меня не было проблем с бото если на лямбду правильная роль повешена
я, видимо, логики не понимаю этих политик... вот с такой: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::image-data" }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::*/*" } ] } я вижу файлики. Получается, что первая разрешает листинг бакета image-data, а вторая разрешает скасивать объекты с любого s3 бакета. Но, т.к. листинг разрешен тоько в image-data, то лишних доступов не будет. Так что ли?
Т.е. зная точное название объекта с путём, можно его получить и без листинга?
Но у меня почему не стал работать листинг и гет при применении к первому бакету. Точнее может оно и работало, но приложение не работало правильным образом (
первый этап траблшутинга это понять, какую роль или юзера юзает приложение. Обычно в этом месте бывают нежданчики
Ну вот ту, в которой я и описывал )) оно ж заработало)) хотя, наверняка, я уже подустал и завтра все получится )
Обсуждают сегодня