Could not load credentials from any providers
TL;DR — O AWS SDK para JavaScript v3 percorreu toda a sua cadeia de credenciais padrão — variáveis de ambiente, SSO, profiles de config/credentials compartilhados, web identity e os endpoints de metadata de contêiner/instância — e nenhum deles produziu credenciais. Dê à cadeia uma fonte que ela consiga encontrar (variáveis de ambiente, aws configure, uma role anexada), ou passe credentials ao cliente explicitamente — o que para o DynamoDB Local devem ser valores dummy de qualquer forma.
O que significa
CredentialsProviderError: Could not load credentials from any providersToda requisição do DynamoDB precisa ser assinada com SigV4, então antes da primeira chamada o SDK resolve as credenciais através da sua cadeia de providers. Este erro é o resultado "nada encontrado" da cadeia — ele dispara antes de qualquer chamada de rede ao DynamoDB, e é o equivalente no JS v3 do Unable to locate credentials do boto3. Não é um problema de permissões (isso seria AccessDeniedException) — não há identidade nenhuma.
Por que isso acontece
- Nenhuma credencial configurada em lugar nenhum — nem
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEYno ambiente, nem~/.aws/credentials, nem role. - O profile
[default]não existe — você só tem profiles nomeados, masAWS_PROFILEnão está definido, então a cadeia procura por[default]e não encontra nada. - O processo não enxerga o ambiente do seu shell — um gerenciador de serviço, cron job, contêiner ou lançamento de IDE que não herda as variáveis que você exportou.
- Nenhuma role anexada no runtime — uma task ECS, instância EC2 ou Lambda sem a role IAM esperada, então os providers de metadata não retornam nada.
- Intermitente sob carga: throttling do IMDS — cargas de alta concorrência martelando o serviço de metadata da instância EC2 podem falhar buscas de credenciais esporadicamente (uma causa conhecida deste erro aparecer "aleatoriamente").
- Código de browser sem uma fonte de identidade — chamadas de frontend precisam de credenciais do Cognito Identity Pool (ou similar); não há cadeia ambiente em um browser.
Como corrigir
Escolha uma fonte de credencial e verifique-a de ponta a ponta. Verificação mais rápida:
aws sts get-caller-identityno mesmo ambiente (mesmo usuário, mesmo contêiner) que roda seu código.Desenvolvimento local:
aws configure(escreve[default]), ou definaAWS_PROFILE=myprofilequando você só usa profiles nomeados.DynamoDB Local / LocalStack: não confie na cadeia — passe credenciais dummy explícitas com o endpoint:
import {DynamoDBClient} from '@aws-sdk/client-dynamodb'; const client = new DynamoDBClient({ region: 'local', endpoint: 'http://localhost:8000', credentials: {accessKeyId: 'local', secretAccessKey: 'local'} });Em runtimes da AWS, anexe a role — um instance profile no EC2, uma task role no ECS/Fargate, a execution role no Lambda — em vez de enviar chaves.
Sob alta concorrência no EC2, crie o cliente uma vez (escopo de módulo) para que as credenciais sejam resolvidas e cacheadas em vez de rebuscadas por requisição; retries do SDK mais um cliente compartilhado absorvem soluços do IMDS.
Não misture setups de credenciais do SDK v2 e v3 — configure o SDK que seu código realmente importa.
Inspecione no DynoTable
Se o DynoTable lista suas tabelas, as credenciais resolvem — o problema é qual fonte o seu processo lê. Adicione o mesmo profile em Configurações → Perfis, execute Testar conexão e compare com aws sts get-caller-identity no mesmo shell que seu app usa.
Para o Local, defina o endpoint http://localhost:8000 com credenciais dummy local/local no profile. Consulte Conectar ao AWS e Instalar. Abra as tabelas com ⌘K depois de conectar. Rode uma consulta de teste pelo Query Builder para confirmar que a assinatura funciona.
Fontes
- Set credentials in Node.js — AWS SDK for JavaScript v3 (verificado em 13/07/2026)
- AWS SDKs and Tools standardized credential providers (verificado em 13/07/2026)
Erros relacionados
- Unable to locate credentials (boto3) — a mesma falha em Python.
- The security token included in the request is invalid — credenciais encontradas, mas rejeitadas.
- Região ausente na configuração
- Aprenda: Running DynamoDB Local
Referências
- Set credentials in Node.js — AWS SDK for JavaScript v3 Developer Guide (the default credential provider chain)
- AWS SDKs and Tools standardized credential providers — AWS SDKs and Tools Reference Guide
- AWS Signature Version 4 for API requests — IAM User Guide (why every request needs signed credentials)
Última verificação em 13/07/2026 em relação à documentação oficial da AWS vinculada acima.