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

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

Para aumentar la seguridad, AWS recomienda configurar el SDK para Java a fin de 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 trabajo de desarrollo interactivo con el SDK de Java, le recomendamos que utilice el método 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 del SDK y las herramientas de AWS.

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.

Recuperación de credenciales temporales del portal de acceso de AWS

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 portal de acceso de AWS. 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 de AWS.

  5. Siga las instrucciones de Actualizar manualmente las credenciales para copiar el rol de IAM desde el portal de acceso de AWS.

    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 como PowerUserAccess o Developer.

    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.