Perfiles con nombre para AWS CLI - AWS Command Line Interface

Perfiles con nombre para AWS CLI

Un perfil con nombre es una colección de configuraciones y credenciales que se pueden aplicar a un comando de la AWS CLI. Cuando especifica un perfil para ejecutar un comando, se usan la configuración y las credenciales para ejecutar dicho comando. Múltiples perfiles con nombre se pueden almacenar en archivos de config y credentials.

Puede asignar un perfil como default que se use cuando no haya un perfil concreto especificado. Otros perfiles tienen nombres que se pueden especificar como parámetro en la línea de comandos para comandos individuales. También puede especificar un perfil en una variable de entorno AWS_PROFILE que invalida el perfil predeterminado para los comandos que se ejecutan en esa sesión.

Creación de perfiles con nombre

Puede configurar perfiles adicionales utilizando aws configure con la opción --profile o agregando entradas de forma manual a los archivos de config y credentials. Para obtener más información sobre los archivos de config y ‎credentials, consulte ‎Opciones de los archivos de configuración y credenciales.

Perfil de credenciales

En el siguiente ejemplo, se muestra un archivo credentials con dos perfiles. El primero [predeterminado] se utiliza cuando se ejecuta un comando de la AWS CLI sin perfil. El segundo se utiliza cuando se ejecuta un comando de la AWS CLI con el parámetro --profile user1.

El archivo credentials utiliza un formato de nomenclatura diferente del archivo de la config de AWS CLI para los perfiles con nombre. no utilice la palabra profile cuando cree una entrada en el archivo credentials.

~/.aws/credentials (Linux y Mac) o %USERPROFILE%\.aws\credentials (Windows)

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Para obtener más información sobre pares de claves, consulte ID de clave de acceso y clave de acceso secreta.

Perfil de configuración

Cada perfil puede usar credenciales diferentes específicas (puede que sean de usuarios de IAM diferentes) y también puede especificar diferentes regiones y formatos de salida de AWS. Al nombrar el perfil en un archivo de config, incluya la palabra prefijo "profile".

En el ejemplo siguiente se especifica la información de región y salida para los perfiles default y user1.

~/.aws/config (Linux y Mac) o %USERPROFILE%\.aws\config (Windows)

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

Usar perfiles con nombre

Para usar un perfil con nombre, añada la opción --profile profile-name a su comando. En el siguiente ejemplo se muestran todas las instancias de Amazon EC2 con las credenciales y la configuración definidas en el perfil user1 de los archivos de ejemplo anteriores.

$ aws ec2 describe-instances --profile user1

Si desea utilizar un perfil con nombre para varios comandos, puede evitar especificar el perfil en cada comando configurando la variable de entorno AWS_PROFILE en la línea de comandos.

Linux o macOS

$ export AWS_PROFILE=user1

Windows

C:\> setx AWS_PROFILE user1

El uso de set para configurar una variable de entorno cambia el valor usado hasta que finalice la sesión de símbolo de sistema actual o hasta que otorgue a la variable un valor diferente.

El uso de setx para establecer una variable de entorno cambia el valor de todos los shells de comandos que cree después de ejecutar el comando. No afecta a ningún shell de comandos que ya se esté ejecutando en el momento en que ejecuta el comando. Cierre y reinicie el shell de comandos para ver los efectos del cambio.

La configuración de la variable de entorno cambia el perfil predeterminado hasta que finalice la sesión del shell, o hasta que otorgue a la variable a un valor diferente. Puede hacer que las variables de entorno persistan en sesiones futuras poniéndolas en el script de inicio del shell. Para obtener más información, consulte Variables de entorno para configurar la AWS CLI .

nota

Si especifica un perfil con --profile en un comando individual, eso anula la configuración especificada en la variable de entorno sólo para ese comando.