Acceso a credenciales para trabajo de desarrollo interactivo mediante AWS SDK for Java 2.x - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Acceso a credenciales para trabajo de desarrollo interactivo mediante AWS SDK for Java 2.x

Para aumentar la seguridad, se AWS recomienda configurar el SDK para Java para que utilice credenciales temporales en lugar de credenciales de larga duración. Las credenciales temporales consisten en claves de acceso (id de clave de acceso y clave de acceso secreta) y un token de sesión.

Dispone de varios métodos para trabajar con credenciales temporales. El método que utilice y, por tanto, la configuración que proporcione al SDK dependen de su caso de uso.

Cuando realice trabajos de desarrollo interactivo con el SDK de Java, le recomendamos que utilice las credenciales de inicio de sesión de AWS la consola.

Utilizar credenciales de inicio de sesión de la consola

Puede usar sus credenciales de inicio de sesión AWS de Management Console actuales para acceder a AWS los servicios mediante programación. Tras un flujo de autenticación basado en un navegador, AWS genera credenciales temporales que funcionan en todas las herramientas de desarrollo locales, como el SDK for Java 2.x AWS CLI y el SDK for Java 2.x.

Con este proceso, puede autenticarse con las credenciales raíz creadas durante la configuración inicial de la cuenta, un usuario de IAM o una identidad federada de su proveedor de identidad, y este gestiona AWS CLI automáticamente las credenciales temporales por usted. Este enfoque mejora la seguridad al eliminar la necesidad de almacenar localmente las credenciales a largo plazo.

Al ejecutar el comando aws login, puede seleccionar una de las sesiones de consola activas o iniciar sesión mediante el flujo de autenticación basado en el navegador, lo que generará credenciales temporales automáticamente. El SDK for Java 2.x actualizará automáticamente estas credenciales durante un máximo de 12 horas.

importante

Además de la configuración que establezca en el archivo de configuración compartido que funciona para todos los proyectos, cada proyecto Java individual requiere la siguiente dependencia en el archivo Mavenpom.xml:

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>signin</artifactId> </dependency>

La signin dependencia proporciona el código que permite al SDK para Java 2.x acceder a las credenciales de inicio de sesión de la consola y utilizarlas.

Para obtener más información sobre los requisitos previos para iniciar y cerrar sesión, consulte Iniciar sesión para el desarrollo AWS local con credenciales de consola en la Guía de referencia del AWS SDK y las herramientas.

Single-sign-on Enfoque

Al realizar trabajos de desarrollo interactivo con el SDK de Java, también puede utilizar el enfoque de inicio de sesión único. Este método requiere los siguientes recursos:

Configuración del Identity Center de IAM

Al configurar el SDK para utilizar el acceso de inicio de sesión único al IAM Identity Center, tal como se describe en Descripción general de la configuración de esta guía, el SDK utiliza las credenciales temporales.

El SDK utiliza el token de acceso al IAM Identity Center para acceder al rol de IAM definido con la configuración sso_role_name del archivo config. El SDK asume este rol de IAM y recupera las credenciales temporales para firmar solicitudes de Servicio de AWS .

Para obtener más información sobre cómo el SDK obtiene las credenciales temporales de la configuración, consulte la sección Cómo entender la autenticación del IAM Identity Center de la Guía de referencia sobre herramientas AWS SDKs y herramientas.

importante

Además de la configuración que establezca en el archivo de config compartido que funciona para todos los proyectos, cada proyecto de Java individual requiere las siguientes dependencias en el archivo pom.xmlde Maven:

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sso</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>ssooidc</artifactId> </dependency>

Las dependencias sso y ssooidc proporcionan el código que permite que el SDK para Java 2.x acceda a credenciales temporales.

Recupere las credenciales temporales del portal de AWS acceso

Como alternativa a la configuración de inicio de sesión único del IAM Identity Center, puede copiar y utilizar las credenciales temporales disponibles en el AWS portal de acceso. Puede utilizar las credenciales temporales en un perfil o como valores para las propiedades del sistema y las variables de entorno.

Configurar un archivo local de credenciales para las credenciales temporales
  1. Crear un archivo de credenciales compartido.

  2. En el archivo de credenciales, pegue el siguiente texto de marcador de posición hasta que pegue las credenciales temporales que funcionen.

    [default] aws_access_key_id=<value from AWS access portal> aws_secret_access_key=<value from AWS access portal> aws_session_token=<value from AWS access portal>
  3. Guarde el archivo. El archivo ~/.aws/credentials debería existir ahora en su sistema de desarrollo local. Este archivo contiene el perfil [predeterminado] que el SDK para Java utiliza si no se especifica un perfil con nombre específico.

  4. Inicie sesión en el portal de acceso AWS

  5. Siga estas instrucciones que aparecen en el apartado Actualización manual de credenciales para copiar las credenciales de los roles de IAM del portal de AWS acceso.

    1. Para el paso 2 de las instrucciones vinculadas, elija Access keys como nombre del rol de IAM que le concede acceso para sus necesidades de desarrollo. Este rol suele tener un nombre similar PowerUserAccessal de Desarrollador.

    2. En el cuadro de diálogo modal, seleccione su sistema operativo y copie el contenido de Añadir un perfil al archivo de credenciales de AWS .

  6. Pegue las credenciales copiadas en su archivo credentials local y elimine el nombre del perfil generado. Su archivo debería parecerse a lo siguiente.

    [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
  7. Guarde el archivo credentials.

Cuando el SDK para Java cree un cliente de servicio, accederá a estas credenciales temporales y las utilizará para cada solicitud. La configuración del rol de IAM elegido en el paso 5a determina el tiempo de validez de las credenciales temporales. La duración máxima es de doce horas.

Cuando las credenciales temporales caduquen, repita los pasos del 4 al 7.