Configuración de credenciales en Node.js - 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.

Configuración de credenciales en Node.js

En Node.js hay varias formas de proporcionar sus credenciales al SDK. Algunas de ellas son más seguras y otras ofrecen más comodidad mientras se desarrolla una aplicación. Al obtener las credenciales en Node.js, sea especialmente cuidadoso si se basa en más de un origen como, por ejemplo, una variable de entorno y un archivo JSON que carga. Puede cambiar los permisos con los que se ejecuta su código sin darse cuenta de que se ha producido el cambio.

A continuación se muestran las formas de suministro de credenciales según su orden de recomendación:

  1. Cargado desde roles de AWS Identity and Access Management (IAM) para Amazon EC2

  2. Cargadas desde un archivo de credenciales compartidas (~/.aws/credentials).

  3. Cargadas desde variables de entorno.

  4. Cargadas desde un archivo JSON en el disco.

  5. Otras clases de proveedores de credenciales que proporciona el SDK para JavaScript

Si hay más de un origen de credenciales disponible para el SDK, la prioridad de selección predeterminada es la siguiente:

  1. Credenciales que se establecen explícitamente a través del constructor de cliente de servicio.

  2. Variables de entorno

  3. El archivo de credenciales compartidas.

  4. Credenciales cargadas desde el proveedor de credenciales de ECS (si corresponde)

  5. Credenciales que se obtienen utilizando un proceso de credenciales especificado en el archivo de configuración de AWS compartido o en el archivo de credenciales compartido. Para obtener más información, consulte Loading Credentials en Node.js mediante un Proceso de credenciales configurado.

  6. Credenciales cargadas desde AWS IAM mediante el proveedor de credenciales de la instancia de Amazon EC2 (si se configura en los metadatos de instancia)

Para obtener más información, consulte Class: AWS.Credentials y Class: AWS.CredentialProviderChain en la referencia de la API.

aviso

Aunque es posible hacerlo, no le recomendamos codificar de forma rígida sus credenciales de AWS en la aplicación. Si las codifica de forma rígida, corre el riesgo de que su ID de clave de acceso y la clave de acceso secreta queden expuestos.

En los temas de esta sección se describe cómo cargar credenciales en Node.js.