Definir credenciais no Node.js - AWS SDK para JavaScript

O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).

Definir credenciais no Node.js

Recomendamos que novos usuários que estejam se desenvolvendo localmente e que não recebam um método de autenticação do empregador se configurem no AWS IAM Identity Center. Para obter mais informações, consulte Autenticação do SDK com AWS.

Há várias maneiras em Node.js de fornecer as credenciais para o SDK. Algumas dessas são mais seguras e outras oferecem mais comodidade durante o desenvolvimento de aplicativos. Ao obter credenciais em Node.js, tome cuidado ao confiar em mais de uma origem, como uma variável de ambiente e um arquivo JSON carregado. Altere as permissões em que o código é executado sem perceber a alteração que aconteceu.

O AWS SDK para JavaScript V3 oferece uma cadeia de fornecedores de credenciais padrão no Node.js, portanto, você não precisa fornecer um fornecedor de credenciais explicitamente. A cadeia de fornecedores de credenciais padrão tenta resolver as credenciais de várias fontes diferentes em uma determinada precedência, até que uma credencial seja retornada de uma das fontes. Você pode encontrar a cadeia de fornecedores de credenciais do SDK para JavaScript V3 aqui.

Cadeia de provedores de credenciais

Todos os SDKs têm uma série de locais (ou fontes) que eles verificam para encontrar credenciais válidas para usar para fazer uma solicitação a um AWS service (Serviço da AWS). Depois que as credenciais válidas são encontradas, a pesquisa é interrompida. Essa busca sistemática é chamada de cadeia de provedores de credenciais padrão.

Para cada etapa da cadeia, há várias maneiras de atribuir os valores. A definição de valores diretamente no código sempre tem precedência, seguida pela configuração como variáveis de ambiente e, em seguida, no arquivo AWS config compartilhado. Para obter mais informações, consulte Precedência das configurações no Guia de referência de ferramentas e SDKs da AWS.

O Guia de referência de ferramentas e SDKs da AWS tem informações sobre as configurações do SDK usadas por todos os AWS SDKs e pela AWS CLI. Para saber mais sobre como configurar o SDK por meio do arquivo AWS configcompartilhado, Arquivos de configuração e credenciais compartilhados. Para saber mais sobre como configurar o SDK por meio da definição de variáveis de ambiente, consulte Suporte a variáveis de ambiente.

Para fazer a autenticação com a AWS, o AWS SDK para JavaScript verifica os fornecedores de credenciais na ordem listada na tabela a seguir.

Método do fornecedor de credenciais da Referência de API do AWS SDK para JavaScript por precedência Fornecedor(es) de credenciais disponíveis Guia de referência de ferramentas e SDKs da AWS
fromEnv() Chaves de acesso da AWS a partir de variáveis de ambiente Chaves de acesso da AWS
fromSSO() AWS IAM Identity Center. Neste guia, consulte Autenticação do SDK com AWS. Fornecedor de credenciais do IAM Identity Center
fromIni()

Chaves de acesso da AWS de arquivos config e credentials compartilhados

Chaves de acesso da AWS

Provedor de entidades confiável (como AWS_ROLE_ARN)

Assumir um perfil do IAM

Token de identidade da Web do AWS Security Token Service (AWS STS)

Federar com identidade da Web ou OpenID Connect

Credenciais do Amazon Elastic Container Service (Amazon ECS)

Provedor de credenciais de contêiner

Credenciais do perfil de instância do Amazon Elastic Compute Cloud (Amazon EC2) (provedor de credenciais IMDS)

Provedor de credenciais do IMDS

Provedor de credenciais de processo

Provedor de credenciais de processo

Credenciais do AWS IAM Identity Center

Fornecedor de credenciais do IAM Identity Center

fromProcess() Provedor de credenciais de processo Provedor de credenciais de processo
fromTokenFile() Token de identidade da Web do AWS Security Token Service (AWS STS) Federar com identidade da Web ou OpenID Connect
fromContainerMetadata() Credenciais do Amazon Elastic Container Service (Amazon ECS) Provedor de credenciais de contêiner
fromInstanceMetadata() Credenciais do perfil de instância do Amazon Elastic Compute Cloud (Amazon EC2) (provedor de credenciais IMDS) Provedor de credenciais do IMDS

Se você seguiu a abordagem recomendada para novos usuários começarem, configurou a autenticação do AWS IAM Identity Center durante a Autenticação do SDK com AWS do tópico Conceitos básicos. Outros métodos de autenticação são úteis para situações diferentes. Para evitar riscos de segurança, recomendamos sempre usar credenciais de curto prazo. Para outros procedimentos de método de autenticação, consulte Autenticação e acesso no Guia de referência de ferramentas e SDKs da AWS.

Os tópicos nesta seção descrevem como carregar credenciais em Node.js.