Carregar credenciais em Node.js do arquivo de credenciais compartilhado - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Carregar credenciais em Node.js do arquivo de credenciais compartilhado

Mantenha os dados das credenciais do AWS em um arquivo compartilhado usado por SDKs e a interface de linha de comando. Quando o SDK para JavaScript carregar, ele pesquisará automaticamente o arquivo de credenciais compartilhado, que é chamado "credentials". Onde você mantém o arquivo de credenciais compartilhado depende do sistema operacional:

  • O arquivo de credenciais compartilhado no Linux, Unix e macOS: ~/.aws/credentials

  • O arquivo de credenciais compartilhado no Windows: C:\Users\USER_NAME\.aws\credentials

Se você ainda não tiver um arquivo de credenciais compartilhadas, consulte Autenticação do SDK com AWS. Após seguir essas instruções, você verá um texto semelhante ao seguinte no arquivo de credenciais, em que <YOUR_ACCESS_KEY_ID> é o ID de chave de acesso e <YOUR_SECRET_ACCESS_KEY> é a chave de acesso secreta:

[default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

Para obter um exemplo que mostra este arquivo sendo usado, consulte Conceitos básicos de Node.js.

O título da seção [default] especifica um perfil padrão e os valores associados das credenciais. Crie perfis adicionais no mesmo arquivo de configuração compartilhado, cada um com as próprias informações de credencial. O seguinte exemplo mostra um arquivo de configuração com o perfil padrão e dois perfis adicionais:

[default] ; default profile aws_access_key_id = <DEFAULT_ACCESS_KEY_ID> aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY> [personal-account] ; personal account profile aws_access_key_id = <PERSONAL_ACCESS_KEY_ID> aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY> [work-account] ; work account profile aws_access_key_id = <WORK_ACCESS_KEY_ID> aws_secret_access_key = <WORK_SECRET_ACCESS_KEY>

Por padrão, o SDK verifica a variável de ambiente AWS_PROFILE para determinar qual perfil usar. Se a variável AWS_PROFILE não estiver definida no ambiente, o SDK usará as credenciais do perfil [default]. Para usar um dos perfis alternativos, configure ou altere o valor da variável de ambiente AWS_PROFILE. Por exemplo, considerando o arquivo de configuração mostrado acima, para usar as credenciais da conta de serviço, defina a variável de ambiente AWS_PROFILE como work-account (conforme adequado para seu sistema operacional).

nota

Ao definir variáveis de ambiente, lembre-se de tomar as medidas adequadas posteriormente (de acordo com as necessidades do seu sistema operacional) para disponibilizar as variáveis no ambiente de comando ou shell.

Depois de definir a variável de ambiente (se necessário), você pode executar um arquivo de JavaScript que usa o SDK como uma arquivo chamado script.js, por exemplo.

$ node script.js

Também selecione explicitamente o perfil usado pelo SDK definindo process.env.AWS_PROFILE antes de carregar o SDK ou selecionando o provedor de credenciais, conforme mostrado no seguinte exemplo:

var credentials = new AWS.SharedIniFileCredentials({profile: 'work-account'}); AWS.config.credentials = credentials;