Creé mi API sin servidor, después de implementar mi API en lambda, y cuando trato de probar el punto final a través del botón "Prueba" en GatewayAPI, aparece el error:

"Usuario: arn: aws: sts :: 245912153055: assume-role / pets-service-dev-us-east-1-lambdaRole / pets-service-dev-listPets no está autorizado para realizar: dynamodb: Escanear en recurso: arn : aws: dynamodb: us-east-1: 245912153055: tabla / Mascotas "

Probablemente deba darle permiso a Lambda, pero estoy un poco perdido ...

9
GuillaumeC 5 mar. 2017 a las 02:55

2 respuestas

La mejor respuesta

Como ya se indicó, debe agregar los permisos a su definición sin servidor.

Los documentos son bastante extensos sobre este tema: guía IAM sin servidor

En su caso, probablemente solo necesite agregar algo como el siguiente permiso a su serverless.yml.

provider:
  iamRoleStatements:
    -  Effect: "Allow"
       Action:
         - "dynamodb:Scan"
       Resource: "arn:aws:dynamodb:us-east-1:245912153055:table/Pets"
9
jens walter 5 mar. 2017 a las 10:24

Llego un poco tarde a la fiesta, pero aún podría ayudar a alguien saber que actualmente (marzo de 2019) parece haber un problema al usar nodejs vs 8.10 al crear su lambda. Agregar todos los permisos necesarios aún causa el error mencionado anteriormente. Una solución fácil es utilizar una versión inferior de nodejs por ahora. Esperemos que el problema se solucione lo antes posible

0
jeldrik schmuch 2 abr. 2019 a las 07:20