Эй, я только начал с Serverless, поэтому я стараюсь быть максимально точным с моей проблемой.
Я использую решатели AWS AppSyncDynamoDB, чтобы использовать GraphQL для хранения и получения данных в моей таблице Amazon DynamoDB.Все работало нормально, пока я не захотел использовать пакетные операции, в частности BatchDeleteItem.
Я получил ошибку, что у моего пользователя отсутствовали необходимые разрешения, хотя я указал в своем файле Serverless.yml следующее:
Effect: “Allow”
Action:
- dynamodb:DescribeTable
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
- dynamodb:BatchWriteItem
- dynamodb:BatchDeleteItem
Я зашел в консоль управления IAM и увидел, что в созданной политике отсутствуют BatchWriteItem и BatchDelteItem:
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Action”: [
“dynamodb:DeleteItem”,
“dynamodb:GetItem”,
“dynamodb:PutItem”,
“dynamodb:Query”,
“dynamodb:Scan”,
“dynamodb:UpdateItem”
],
“Resource”: [
“arn:aws:dynamodb:eu-central-1:MYID:table/MYTABLENAME”,
“arn:aws:dynamodb:eu-central-1:MYID:table/MYTABLENAME/*”
],
“Effect”: “Allow”
}
]
}
Когда я добавляю необходимое разрешение вручную в политику, все работает.Но для меня действительно важно, чтобы эта политика создавалась на основе файла serverless.yml и развертывания sls.
Я что-то здесь упустил?
Спасибо, Бен!