Perfiles con nombre - AWS Command Line Interface

Python 2.7, 3.4 y 3.5 están obsoletas para la versión 1 de AWS CLI. Para obtener más información, consulte la sección de la versión 1 de AWS CLI de Acerca de las versiones de AWS CLI.

Perfiles con nombre

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. 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. Alternativamente, puede especificar un perfil en una variable de entorno (AWS_PROFILE) que esencialmente anula el perfil predeterminado para los comandos que se ejecutan en esa sesión.

La AWS CLI admite el uso de cualquiera de los perfiles con nombre almacenados en los archivos config y credentials. Puede configurar perfiles adicionales utilizando aws configure con la opción --profile o añadiendo entradas a los archivos config y credentials.

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.

~/.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

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.

~/.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
importante

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

Uso de perfiles con la AWS CLI

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.