Autenticación de SDK con AWS - 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.

Autenticación de SDK con AWS

Debe establecer cómo se autentica el código con AWS cuando se desarrolla con servicios de AWS. Puede configurar el acceso mediante programación a los recursos de AWS de diferentes maneras, según el entorno y el acceso de AWS disponibles.

Para elegir el método de autenticación y configurarlo para el SDK, consulte Autenticación y acceso en la Guía de referencia de herramientas y SDK de AWS.

Recomendamos que los nuevos usuarios que se desarrollen localmente y no dispongan de un método de autenticación por parte de su empleador configuren AWS IAM Identity Center. Este método incluye la instalación de AWS CLI para facilitar la configuración y para iniciar sesión con regularidad en el portal de acceso a AWS. Si elige este método, su entorno debería contener los siguientes elementos después de completar el procedimiento de Autenticación del Centro de Identidad de IAM descrito en la Guía de referencia de las herramientas y los SDK de AWS:

  • AWS CLI, que se utiliza para iniciar una sesión en el portal de acceso a AWS antes de ejecutar la aplicación.

  • Un archivo config compartido de AWS que tiene un perfil [default] con un conjunto de valores de configuración a los que se puede hacer referencia desde el SDK. Para encontrar la ubicación de este archivo, consulte Ubicación de los archivos compartidos en la Guía de referencia de las herramientas y los SDK de AWS.

  • El archivo compartido de config establece la configuración de region. Esto establece la región de AWS predeterminada que el SDK usa para las solicitudes de AWS. Esta región se usa para las solicitudes de servicio del SDK que no tienen especificadas una región.

  • El SDK utiliza la configuración de proveedor de token de SSO del perfil para adquirir las credenciales antes de enviar las solicitudes a AWS. El valor sso_role_name, que es un rol de IAM conectado a un conjunto de permisos del Centro de identidades de IAM, permite el acceso a los servicios de AWS utilizados en la aplicación.

    El siguiente archivo config de ejemplo muestra la configuración de un perfil predeterminado con el proveedor de token de SSO. La configuración sso_session del perfil hace referencia a la sección llamada sso-session. La sección sso-session contiene la configuración para iniciar una sesión en el portal de acceso a AWS.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access

El SDK para JavaScript no necesita que se agreguen paquetes adicionales (como SSO y SSOOIDC) a la aplicación para utilizar la autenticación de IAM Identity Center.

Iniciar una sesión en el portal de acceso a AWS

Antes de ejecutar una aplicación que accede a AWS services, necesita una sesión activa en el portal de acceso a AWS para que SDK utilice la autenticación del IAM Identity Center para resolver las credenciales. En función de la duración de las sesiones configuradas, el acceso terminará por caducar y SDK detectará un error de autenticación. Para iniciar sesión en el portal de acceso a AWS, ejecute el siguiente comando en AWS CLI.

aws sso login

Si sigue la guía y utiliza una configuración de perfil predeterminada, no necesita llamar al comando con una opción --profile. Si la configuración del proveedor de token de SSO utiliza un perfil con nombre, el comando es aws sso login --profile named-profile.

Para comprobar si ya tiene una sesión activa, ejecute el siguiente comando de AWS CLI.

aws sts get-caller-identity

Si su sesión está activa, la respuesta a este comando debe indicar la cuenta y el conjunto de permisos del Centro de identidades de IAM configurados en el archivo config compartido.

nota

Si ya tiene una sesión activa en el portal de acceso a AWS y ejecuta aws sso login, no tendrá que proporcionar credenciales.

Es posible que el proceso de inicio de sesión le permita el acceso de AWS CLI a los datos. Como AWS CLI se ha creado con el SDK para Python, los mensajes de permiso pueden contener variaciones del nombre botocore.

Información adicional de autenticación

Los usuarios humanos, que también reciben el nombre de identidades humanas, son las personas, los administradores, los desarrolladores, los operadores y los consumidores de las aplicaciones. Deben tener una identidad para acceder a los entornos y aplicaciones de AWS. Los usuarios humanos que son miembros de su organización (es decir, usted, el desarrollador) se conocen como identidades de personal.

Utilice credenciales temporales al acceder a AWS. Puede utilizar un proveedor de identidades para los usuarios humanos para proporcionar acceso federado a las cuentas de AWS asumiendo roles, que proporcionan credenciales temporales. Si desea administrar el acceso de manera centralizada, se recomienda utilizar (IAM Identity Center) para administrar el acceso a las cuentas y los permisos de esas cuentas. Para obtener más alternativas, consulte lo siguiente: