Carga de credenciales en Node.js desde el archivo de credenciales compartidas - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Carga de credenciales en Node.js desde el archivo de credenciales compartidas

Puede conservar los datos de sus credenciales de AWS en un archivo compartido que utilizan los SDK y la interfaz de línea de comandos. Cuando se carga el SDK para JavaScript, busca automáticamente el archivo de credenciales compartidas, que se llama “credentials”. La ubicación del archivo de credenciales compartido depende del sistema operativo:

  • El archivo de credenciales compartidas en Linux, Unix y macOS: ~/.aws/credentials.

  • El archivo de credenciales compartidas en Windows: C:\Users\USER_NAME\.aws\credentials.

Si aún no tiene un archivo de credenciales compartidas, consulte Autenticación de SDK con AWS. Después de seguir estas instrucciones, debería ver un texto similar al siguiente en el archivo de credenciales, donde <YOUR_ACCESS_KEY_ID> es el ID de clave de acceso y <YOUR_SECRET_ACCESS_KEY> es la clave de acceso secreta:

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

Para ver un ejemplo de uso de este archivo, consulte Introducción a Node.js.

El encabezado de sección [default] especifica un perfil predeterminado y valores asociados para las credenciales. Puede crear perfiles adicionales en el mismo archivo de configuración compartido, cada uno con su propia información de credenciales. En el ejemplo siguiente se muestra un archivo de configuración con el perfil predeterminado y dos perfiles adicionales:

[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>

De forma predeterminada, el SDK comprueba la variable de entorno AWS_PROFILE para determinar qué perfil se va a utilizar. Si la variable AWS_PROFILE no se establece en su entorno, el SDK utiliza las credenciales del perfil [default]. Para utilizar uno de los perfiles alternativos, configure o cambie el valor de la variable de entorno AWS_PROFILE. Por ejemplo, dado el archivo de configuración que se muestra más arriba, para utilizar las credenciales de la cuenta de trabajo, establezca la variable de entorno AWS_PROFILE en work-account (según corresponda para su sistema operativo).

nota

Cuando configure variables de entorno, asegúrese de tomar las medidas adecuadas después (según las necesidades de su sistema operativo) para que las variables estén disponibles en el entorno de shell o de comandos.

Después de configurar la variable de entorno (si es necesario), puede ejecutar un archivo de JavaScript que utiliza el SDK, como por ejemplo, un archivo llamado script.js.

$ node script.js

También puede seleccionar de forma explícita el perfil que el SDK utiliza, ya sea estableciendo process.env.AWS_PROFILE antes de cargar el SDK o seleccionando el proveedor de credenciales tal y como se muestra en el ejemplo siguiente:

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