

# Autenticación con credenciales de usuario de IAM para la AWS CLI
<a name="cli-authentication-user"></a>

**aviso**  
Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

En esta sección se explica cómo configurar las opciones básicas con un usuario de IAM. Entre ellas se incluyen sus credenciales de seguridad con los archivos `config` y `credentials`. En su lugar, consulte las instrucciones de configuración para AWS IAM Identity Center, consulte [Configuración de la autenticación de IAM Identity Center con la AWS CLI](cli-configure-sso.md).

**Contents**
+ [Paso 1: Crear el usuario de IAM](#cli-authentication-user-create)
+ [Paso 2: Obtener las claves de acceso](#cli-authentication-user-get)
+ [Paso 3: Configurar el AWS CLI](#cli-authentication-user-configure.title)
  + [Uso de `aws configure`](#cli-authentication-user-configure-wizard)
  + [Importación de claves de acceso mediante un archivo .CSV](#cli-authentication-user-configure-csv)
  + [Edición directa de los archivos `config` y `credentials`](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)
+ [(Opcional) Uso de autenticación multifactor con las credenciales de usuario de IAM](#cli-authentication-user-configure-csv.titlecli-authentication-user-mfa)

## Paso 1: Crear el usuario de IAM
<a name="cli-authentication-user-create"></a>

Siga el procedimiento [Creación de usuarios de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) de la *Guía del usuario de IAM para crear su usuario de IAM*. 
+ Para **Opciones de permiso**, elija **Adjuntar políticas directamente** para indicar cómo desea asignar permisos a este usuario.
+ La mayoría de los tutoriales del SDK “Introducción” utilizan el servicio Amazon S3 como ejemplo. Para proporcionar a su aplicación acceso completo a Amazon S3, seleccione la política `AmazonS3FullAccess` que desea asociar a este usuario.

## Paso 2: Obtener las claves de acceso
<a name="cli-authentication-user-get"></a>

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, seleccione **Usuarios** y, a continuación, seleccione el **`User name`** del usuario que creó anteriormente. 

1. En la página del usuario, selecciona la página **Credenciales de seguridad**. A continuación, en **Claves de acceso**, seleccione **Crear clave de acceso**.

1.  En el **paso 1 de Crear clave de acceso**, elija **Interfaz de línea de comandos (CLI)**.

1. En el **paso 2 de Crear clave de acceso**, introduzca una etiqueta opcional y seleccione **Siguiente**. 

1. En el **paso 3 de Crear clave de acceso**, seleccione **Descargar archivo.csv** para guardar un archivo `.csv` con la clave de acceso y la clave de acceso secreta de su usuario de IAM. Necesitará esta información más tarde.

1. Seleccione Done (Listo).

## Paso 3: Configurar el AWS CLI
<a name="cli-authentication-user-configure.title"></a>

Para el uso general, AWS CLI necesita la siguiente información:
+ ID de clave de acceso
+ Clave de acceso secreta
+ Región de AWS
+ Formato de salida

La AWS CLI almacena esta información en un *perfil* (una colección de opciones) con el nombre `default` en el archivo `credentials`. De forma predeterminada, la información de este perfil se utiliza cuando se ejecuta un comando de la AWS CLI que no especifica explícitamente un perfil que se va a utilizar. Para obtener más información sobre el archivo `credentials`, consulte [Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md).

Utilice uno de los siguientes procedimientos para configurar la AWS CLI.

**Topics**
+ [Uso de `aws configure`](#cli-authentication-user-configure-wizard)
+ [Importación de claves de acceso mediante un archivo .CSV](#cli-authentication-user-configure-csv)
+ [Edición directa de los archivos `config` y `credentials`](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)

### Uso de `aws configure`
<a name="cli-authentication-user-configure-wizard"></a>

Para el uso general, el comando `aws configure` es la forma más rápida de configurar la instalación de la AWS CLI. Este asistente de configuración le solicitará cada uno de los datos que necesita para empezar. A menos que se especifique lo contrario mediante el uso de la opción `--profile`, la AWS CLI almacena esta información en el perfil `default`.

En el siguiente ejemplo, se configura un perfil `default` con valores de ejemplo. Remplácelos con sus propios valores, tal y como se describe en las siguientes secciones.

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

En el siguiente ejemplo, se configura un perfil denominado `userprod` con valores de ejemplo. Remplácelos con sus propios valores, tal y como se describe en las siguientes secciones.

```
$ aws configure --profile userprod
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

### Importación de claves de acceso mediante un archivo .CSV
<a name="cli-authentication-user-configure-csv"></a>

En lugar de utilizar `aws configure` para ingresar las claves de acceso, puede importar el archivo `.csv` de texto sin formato que descargó después de crear sus claves de acceso. 

El ‎archivo `.csv` debe contener los siguientes encabezados.
+ Nombre de usuario: esta columna debe añadirse a su `.csv`. Se usa para crear el nombre del perfil utilizado en los archivos `config` y `credentials` al importar.
+ ID de clave de acceso
+ Clave de acceso secreta

**nota**  
Durante la creación de las claves de acceso iniciales, una vez que cierre el cuadro de diálogo **Descargar archivo .csv)**, no puede acceder a la clave de acceso secreta después de cerrar el cuadro de diálogo. Si necesita un archivo `.csv`, tendrá que crearlo con los encabezados necesarios y la información de sus claves de acceso almacenadas. Si no tiene acceso a la información sobre sus claves de acceso, deberá crear nuevas claves de acceso.

Para importar el archivo `.csv`, utilice el comando `aws configure import` con la opción `--csv` de la siguiente manera:

```
$ aws configure import --csv file://credentials.csv
```

Para obtener más información, consulte `aws\$1configure\$1import`.

### Edición directa de los archivos `config` y `credentials`
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file"></a>

Para editar directamente los archivos `config` y `credentials`, realice lo siguiente.

1. Cree o abra el archivo `credentials` de AWS compartido. Este archivo es `~/.aws/credentials` en sistemas Linux y macOS y `%USERPROFILE%\.aws\credentials` en Windows. Para obtener más información, consulte [Opciones de los archivos de configuración y credenciales en la AWS CLI](cli-configure-files.md). 

1. Agregue el siguiente texto al archivo `credentials` compartido. Sustituya los valores de ejemplo del archivo `.csv` que descargó anteriormente y guarde el archivo. 

   ```
   [default] 
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE 
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

## (Opcional) Uso de autenticación multifactor con las credenciales de usuario de IAM
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-mfa"></a>

Para mayor seguridad, puede usar una clave única generada a partir de un dispositivo de autenticación multifactor (MFA), un dispositivo U2F o una aplicación móvil cuando intente realizar una llamada.

Con el usuario de IAM habilitado para MFA, ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html](https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html) para configurar un nuevo perfil para usarlo con la autenticación multifactor (MFA) para el perfil especificado. Si no se especifica ningún perfil, la MFA se basa en el perfil `default`. Si no hay ningún perfil predeterminado configurado, el comando `mfa-login` le solicitará las credenciales de AWS antes de solicitar su información de MFA. En el ejemplo de comando siguiente, se usa la configuración predeterminada y se crea un perfil de MFA.

```
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
```

Para actualizar un perfil existente, utilice el parámetro `--update-profile`.

```
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
```

Este comando actualmente solo admite hardware o software basado en autenticadores de contraseña de un solo uso (OTP). Actualmente, este comando no admite claves de acceso ni dispositivos U2F.

Para usar el perfil de MFA, use la opción `--profile` con los comandos.

```
$ aws s3 ls --profile mfaprofile
```

Para obtener más información sobre el uso de MFA con IAM, incluido cómo asignar MFA a un usuario de IAM, consulte [Autenticación multifactor de AWS en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) en la *Guía del usuario de AWS Identity and Access Management*.