#amazon-web-services #amazon-s3 #aws-lambda #serverless-framework
Вопрос:
Я пытаюсь развернуть лямбду, которая загружает файлы в s3, для разрешений, которые я не хочу прикреплять к роли, вместо этого вручную назначаю разрешения для работы самостоятельно.
это дополнительные инструкции о разрешениях, которые я добавил в свой serverless.yml
region: ap-south-1
#role: arn:aws:iam::xxxxxxxxxxxxxx:role/cm-jatin-mehrotra-lambda
provider:
iam:
role:
statements:
- Effect: "Allow"
Action:
- "s3:ListBucket"
Resource: "arn:aws:s3:::name-of-bucket/*"
- Effect: "Allow"
Action:
- "s3:PutObject"
Resource: "arn:aws:s3:::name-of-bucket/*"
Каждый раз, когда я пытаюсь протестировать свою лямбду, я вижу эту ошибку
"errorMessage": "An error occurred (AccessDenied) when calling the PutObject operation: Access Denied",
"errorType": "ClientError",
Комментарии:
1. Если вы зарегистрируетесь в консоли AWS Lambda, можете ли вы проверить, что ее роль выполнения имеет правильные разрешения?
2. роль исполнителя? означает роль, необходимую лямбде для правильного выполнения задачи? позвольте мне проверить
3. Да, нужны ли для этого необходимые разрешения S3?
4. Почему у вас есть
provider
отступы? Разве это не объект корневого уровня?5. К вашему сведению, ресурс ListBucket неверен. Это действие применяется к ведру, а не к объектам.