[AJUDA] Erro de permissão Key Lambda e dynamodb
Olá estou fazendo algumas aplicações para colocar no meu portifolio e estou com um erro que não faço ideia do pq ta rolando . Quando vou rodar o comando npx serverless offline start ele ate chega a dar start mas acompanhado desse erro :
PS C:\Users\v\Documents\projetos\e-commerce\back> npx serverless offline start
(node:39076) [DEP0040] DeprecationWarning: The punycode
module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ...
to show where the warning was created)
Dynamodb Local Started, Visit: http://localhost:8000/shell
UnrecognizedClientException: The Access Key ID or security token is invalid.: DynamoDB - Error -
Environment: win32, node 22.3.0, framework 3.39.0 (local), plugin 7.2.3, SDK 4.5.1
Docs: docs.serverless.com
Support: forum.serverless.com
Bugs: github.com/serverless/serverless/issues
Error: UnrecognizedClientException: The Access Key ID or security token is invalid. at Request.extractError (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\protocol\json.js:80:27) at Request.callListeners (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:106:20) at Request.emit (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:78:10) at Request.emit (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:686:14) at Request.transition (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:22:10) at AcceptorStateMachine.runTo (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\state_machine.js:14:12) at C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\state_machine.js:26:10 at Request. (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:38:9) at Request. (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:688:12) at Request.callListeners (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:116:18) at Request.emit (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:78:10) at Request.emit (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:686:14) at Request.transition (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:22:10) at AcceptorStateMachine.runTo (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\state_machine.js:14:12) at C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\state_machine.js:26:10 at Request. (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:38:9) at Request. (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\request.js:688:12) at Request.callListeners (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:116:18) at callNextListener (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\sequential_executor.js:96:12) at IncomingMessage.onEnd (C:\Users\v\Documents\projetos\e-commerce\back\node_modules\aws-sdk\lib\event_listeners.js:417:13) at IncomingMessage.emit (node:events:532:35) at IncomingMessage.emit (node:domain:488:12) at endReadableNT (node:internal/streams/readable:1696:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
O mais engraçado é caso eu de um ls para saber os buckets :
PS C:\Users\v\Documents\projetos\e-commerce\back> aws s3 ls
2024-07-22 21:21:20 onepagamentosfront
ele mostra tranquilamente .
E adicionei a o perfil todas as permissões possiveis do dynamodb .
Relevem é a primeira vez que trabalho com ele.
Como eu não sei ainda de aws nem nada do tipo, perguntei ao mano chat:
Esse erro geralmente ocorre quando há um problema com as credenciais usadas para acessar o DynamoDB. Vamos verificar algumas coisas para resolver isso:
-
Verifique o perfil AWS CLI: Certifique-se de que as credenciais configuradas no seu perfil AWS CLI estão corretas. Você pode verificar o arquivo
~/.aws/credentials
para garantir que oAccess Key ID
eSecret Access Key
estão corretos. -
Verifique o arquivo
serverless.yml
: Certifique-se de que o arquivoserverless.yml
está configurado corretamente para usar o perfil correto. Ele deve ter algo assim:provider: name: aws runtime: nodejs14.x profile: your-profile-name
-
Permissões IAM: Certifique-se de que o usuário IAM que você está usando tem as permissões necessárias para acessar o DynamoDB. Isso pode ser verificado no console AWS IAM.
-
Ambiente Local: Se você estiver usando o DynamoDB Local, certifique-se de que ele está sendo inicializado corretamente e que suas configurações locais (como o endpoint) estão configuradas corretamente no
serverless.yml
. Algo assim:custom: dynamodb: stages: - dev start: port: 8000 inMemory: true migrate: true
-
Configuração do DynamoDB Local: Se estiver usando DynamoDB Local, você também pode tentar configurar as credenciais explicitamente na sua configuração do DynamoDB Local:
custom: dynamodb: start: port: 8000 inMemory: true migrate: true tableCreate: aws: region: us-east-1 accessKeyId: fakeMyKeyId secretAccessKey: fakeSecretAccessKey
-
Depuração Adicional: Execute o comando com depuração adicional para obter mais detalhes:
npx serverless offline start --verbose
Verifique esses pontos e veja se algum deles resolve o problema. Se ainda tiver dificuldades, forneça mais detalhes sobre a configuração do seu serverless.yml
e o arquivo de credenciais AWS.
Também tem essa resposta no stackoverflow não sei está está no memso contexto mais tá ai
acho que isso é uma pergunta mais adequada para uma IA ou para o stackoverflow