

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.

# Autenticación AWS mediante el uso del AWS SDK for Java 2.x
<a name="get-started-auth"></a>

 Debe establecer cómo se AWS SDK for Java 2.x autentica AWS cuando desarrolla con AWS los servicios. El SDK administra la detección de credenciales, la creación de firmas y la actualización de credenciales totalmente en segundo plano, lo que le permite centrarse en la lógica de la aplicación.

## Configuración de la autenticación
<a name="setup-auth"></a>

El tema sobre [autenticación y acceso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) de la Guía de referencia sobre herramientas AWS SDKs y herramientas describe los diferentes enfoques de autenticación.

Para el desarrollo local, el enfoque recomendado es utilizar credenciales a corto plazo iniciando sesión en la AWS CLI con las credenciales de inicio de sesión de la consola. Se recomienda utilizar usuarios root, usuarios de IAM o estar federados con IAM para acceder a la AWS cuenta. Siga las instrucciones de [Acceda a las credenciales para el trabajo de desarrollo interactivo mediante AWS SDK for Java 2.x](credentials-temporary.md).

Tras seguir las instrucciones AWS SDKs y la Guía de referencia de herramientas, tu sistema debería estar configurado para permitir que el SDK firme las solicitudes:

### 1. Desarrollo local con credenciales a corto plazo
<a name="setup-login"></a>

Para el desarrollo local, el enfoque recomendado es utilizar credenciales a corto plazo iniciando sesión en la AWS CLI con las credenciales de inicio de sesión de la consola. Se recomienda utilizar usuarios root, usuarios de IAM o estar federados con IAM para acceder a la AWS cuenta. 

Para obtener instrucciones, consulte [Uso de proveedores de credenciales en](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-temporary.html). AWS SDK for Java 2.x

### 2. Configuración del acceso de inicio de sesión único para el SDK
<a name="setup-credentials"></a>

Tras completar el paso 2 de la [sección de acceso mediante programación](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted) para que el SDK pueda utilizar la autenticación del Centro de identidades de IAM, el sistema debe contener los siguientes elementos.
+ El AWS CLI, que se utiliza para iniciar una [sesión en el portal de AWS acceso](#setup-login-sso) antes de ejecutar la aplicación.
+ Un archivo `~/.aws/config` que contiene un perfil [predeterminado](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-profile). El SDK para Java 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, debería permitir 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 `sso-session` nombrada. 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
  ```

Para obtener más información sobre los ajustes utilizados en la configuración del proveedor de token de SSO, consulte Configuración del proveedor de [token de SSO en la Guía](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#sso-token-config) de referencia de herramientas AWS SDKs y herramientas.

Si tu entorno de desarrollo no está configurado para el acceso mediante programación como se ha mostrado anteriormente, sigue el [paso 2 de la SDKs guía de referencia](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted).

### 3. Inicie sesión con el AWS CLI
<a name="setup-login-sso"></a>

Antes de ejecutar una aplicación que acceda Servicios de AWS, necesita una sesión activa en el portal de AWS acceso para que el SDK utilice la autenticación del IAM Identity Center para resolver las credenciales. Ejecute el siguiente comando AWS CLI para iniciar sesión en el portal de AWS acceso.

```
aws sso login
```

Como tiene 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 la AWS CLI .

```
aws sts get-caller-identity
```

La respuesta a este comando debe indicar la cuenta y el conjunto de permisos del Centro de identidades de IAM configurados en el archivo compartido `config`.

**nota**  
Si ya tiene una sesión activa en el portal de AWS acceso y la ejecuta`aws sso login`, no tendrá que proporcionar credenciales.   
Sin embargo, verá un cuadro de diálogo en el que se solicita permiso para que `botocore` acceda a su información. `botocore` es la base de la AWS CLI .   
Seleccione **Permitir** para autorizar el acceso a su información para el AWS CLI SDK for Java.

## Opciones de autenticación adicionales
<a name="setup-additional"></a>

Para obtener más opciones de autenticación para el SDK, como el uso de perfiles y variables de entorno, consulte el capítulo de [configuración](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html) de la Guía de referencia de herramientas AWS SDKs y herramientas.