Variables de entorno para configurar la AWS CLI - 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.

Variables de entorno para configurar la AWS CLI

Las variables de entorno constituyen otro mecanismo para especificar opciones de configuración y credenciales, y pueden ser útiles para crear scripts o configurar temporalmente un perfil con nombre como la opción predeterminada.

nota

No se puede especificar la autenticación de AWS Single Sign-On (AWS SSO) mediante variables de entorno. En su lugar, debe utilizar un perfil con nombre en el archivo de configuración compartido .aws/config. Para obtener más información, consulte Configuración de la AWS CLI para usar AWS Single Sign-On.

Prioridad de las opciones

  • Si especifica una opción mediante una de las variables de entorno que se describen en este tema, se invalidará cualquier valor carga desde un perfil en el archivo de configuración.

  • Si especifica una opción mediante un parámetro en la línea de comando de la AWS CLI, se invalidará cualquier valor de la variable de entorno correspondiente o un perfil en el archivo de configuración.

Para obtener más información acerca de la prioridad y de cómo la AWS CLI determina la credenciales que debe utilizar, consulte Ajustes de configuración y precedencia.

Cómo configurar las variables de entorno

En los siguientes ejemplos se muestra cómo se pueden configurar las variables de entorno para el usuario predeterminado.

Linux or macOS
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_DEFAULT_REGION=us-west-2

La configuración de la variable de entorno cambia el valor usado hasta el finalice la sesión del shell o hasta que otorgue a la variable un valor diferente. Puede hacer que las variables persistan en sesiones futuras configurándolas en el script de inicio del shell.

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_DEFAULT_REGION us-west-2

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 usado en la sesión de símbolo del sistema actual y en todas las sesiones de símbolo del sistema que cree después de ejecutar el comando. La operación no afecta a otros comandos del shell que ya se están ejecutando en el momento de ejecutar el comando.

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

Si establece una variable de entorno en el símbolo del sistema de PowerShell, tal y como se muestra en los ejemplos anteriores, el valor se guarda únicamente durante la sesión actual. Para que el valor de la variable de entorno persista en todas las sesiones de PowerShell y del símbolo del sistema, guárdelo mediante la aplicación Sistema en el Panel de control. También puede definir la variable para todas las sesiones de PowerShell futuras añadiéndolo a su perfil de PowerShell. Consulte la documentación de PowerShell para obtener más información sobre el almacenamiento de variables de entorno o su persistencia entre sesiones.

AWS CLIVariables de entorno que admite la

La AWS CLI admite las siguientes variables de entorno.

AWS_ACCESS_KEY_ID

Especifica una clave de acceso de AWS asociada a un usuario o un rol de IAM.

Si se define, esta variable de entorno anula el valor de la configuración del perfil aws_access_key_id. No se puede especificar el ID de clave de acceso mediante una opción de línea de comandos.

AWS_CA_BUNDLE

Especifica la ruta a un paquete de certificados que desea utilizar para la validación de certificados HTTPS.

Si se define, esta variable de entorno anula el valor de la configuración del perfil ca_bundle. Puede anular esta variable de entorno mediante el parámetro de la línea de comandos --ca-bundle.

AWS_CLI_AUTO_PROMPT
Esta característica solo está disponible con la versión 2 de AWS CLI.

La siguiente característica está disponible solo si usa la versión 2 de AWS CLI. No está disponible si ejecuta la versión 1 de AWS CLI. Para obtener información sobre cómo instalar la versión 2, consulte Instalación, actualización y desinstalación de la versión 2 de la AWS CLI.

Habilita el mensaje automático para la versión 2 de AWS CLI. Hay dos configuraciones que se pueden usar:

  • on utiliza el modo de mensaje automático completo cada vez que intenta ejecutar un comando de aws. Esto incluye presionar ENTER (INTRO) después de un comando completo o un comando incompleto.

    aws_cli_auto_prompt=on
  • on-partial utiliza el modo de petición automática parcial. Si un comando está incompleto o no se puede ejecutar debido a errores de validación del lado del cliente, se utiliza la petición automática. Este modo es especialmente útil si tiene scripts preexistentes, runbooks, o solo desea que se le pregunte automáticamente sobre los comandos con los que no está familiarizado en lugar de preguntarle sobre cada comando.

    aws_cli_auto_prompt=on-partial

Si se define, esta variable de entorno anula el valor de la configuración del perfil cli_auto_prompt. Puede anular esta variable de entorno mediante los parámetros de la línea de comandos --cli-auto-prompt y --no-cli-auto-prompt.

Para obtener más información sobre la característica de petición automática de la versión 2 de AWS CLI, consulte Como tener una solicitud de AWS CLI para los comandos.

AWS_CLI_FILE_ENCODING

Únicamente versión 2 de AWS CLI. Especifica la codificación utilizada para los archivos de texto. De forma predeterminada, la codificación coincide con su configuración regional. Para establecer que una codificación distinta de la configuración regional, utilice la variable de entorno aws_cli_file_encoding. Por ejemplo, si utiliza Windows con codificación predeterminada CP1252, la configuración de aws_cli_file_encoding=UTF-8 establece la CLI para que abra archivos de texto mediante UTF-8.

AWS_CONFIG_FILE

Especifica la ubicación del archivo que la AWS CLI utiliza para almacenar perfiles de configuración. La ruta predeterminada e ~/.aws/config.

No puede especificar este valor en una configuración de perfil con nombre o mediante un parámetro de la línea de comandos.

AWS_DEFAULT_OUTPUT

Especifica el formato de salida que se va a utilizar.

Si se define, esta variable de entorno anula el valor de la configuración del perfil output. Puede anular esta variable de entorno mediante el parámetro de la línea de comandos --output.

AWS_DEFAULT_REGION

Especifica la región de AWS a la que se va a enviar la solicitud.

Si se define, esta variable de entorno anula el valor de la configuración del perfil region. Puede anular esta variable de entorno mediante el parámetro de la línea de comandos --region.

AWS_EC2_METADATA_DISABLED

Desactiva el uso del servicio de metadatos de la instancia de Amazon EC2 (IMDS).

Si se establece en true (verdadero), las credenciales de usuario o la configuración (como la región) no se solicitan desde IMDS.

AWS_MAX_ATTEMPTS

Especifica un valor de los intentos de reintento máximos que utiliza el controlador de reintentos de AWS CLI, donde la llamada inicial cuenta para el valor que proporciona. Para obtener más información acerca de los reintentos, consulte Reintentos de AWS CLI.

Si se define, esta variable de entorno anula el valor de la configuración de los perfiles max_attempts.

AWS_PAGER

Especifica el programa de paginación utilizado para la salida. De forma predeterminada, la versión 2 de AWS CLI devuelve todas las salidas a través del paginador predeterminado de su sistema operativo.

Para deshabilitar todo el uso de un programa de paginación externo, establezca la variable en una cadena vacía.

Si se define, esta variable de entorno anula el valor de la configuración del perfil cli_pager.

AWS_PROFILE

Especifica el nombre del perfil de la AWS CLI con las credenciales y las opciones que se van a utilizar. Puede ser el nombre de un perfil almacenado en un archivo credentials o config, o el valor default para utilizar el perfil predeterminado.

Si se define, esta variable de entorno anula el comportamiento de utilizar el perfil llamado [default] en el archivo de configuración. Puede anular esta variable de entorno mediante el parámetro de la línea de comandos --profile.

AWS_RETRY_MODE

Especifica el modo de reintento que utiliza AWS CLI. Hay tres modos de reintento disponibles: heredado (predeterminado), estándar y adaptativo. Para obtener más información acerca de los reintentos, consulte Reintentos de AWS CLI.

Si se define, esta variable de entorno anula el valor de la configuración de los perfiles retry_mode.

AWS_ROLE_ARN

Especifica el nombre de recurso de Amazon (ARN) de un rol de IAM con un proveedor de identidades web que desea utilizar para ejecutar los comandos de AWS CLI.

Se utiliza con las variables de entorno AWS_WEB_IDENTITY_TOKEN_FILE y AWS_ROLE_SESSION_NAME.

Si se define, esta variable de entorno anula el valor de la configuración del perfil role_arn. No se puede especificar un nombre de sesión de rol como parámetro de línea de comandos.

nota

Esta variable de entorno solo se aplica a un rol asumido con proveedor de identidad web y no se aplican a la configuración general del proveedor de roles asumidos.

Para obtener más información sobre el uso de identidades web, consulte Adopción de un rol con una identidad web.

AWS_ROLE_SESSION_NAME

Especifica el nombre que se va a asociar a la sesión de rol. Este valor se proporciona al parámetro RoleSessionName cuando la AWS CLI llama a la operación AssumeRole y pasa a formar parte del ARN del usuario del rol asumido: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. Se trata de un parámetro opcional. Si no proporciona este valor, se genera automáticamente un nombre de sesión. Este nombre aparece en los registros de AWS CloudTrail correspondientes a las entradas asociadas a esta sesión.

Si se define, esta variable de entorno anula el valor de la configuración del perfil role_session_name.

Se utiliza con las variables de entorno AWS_ROLE_ARN y AWS_WEB_IDENTITY_TOKEN_FILE.

Para obtener más información sobre el uso de identidades web, consulte Adopción de un rol con una identidad web.

nota

Esta variable de entorno solo se aplica a un rol asumido con proveedor de identidad web y no se aplican a la configuración general del proveedor de roles asumidos.

AWS_SECRET_ACCESS_KEY

Especifica la clave secreta asociada a la clave de acceso. Se trata básicamente de la "contraseña" de la clave de acceso.

Si se define, esta variable de entorno anula el valor de la configuración del perfil aws_secret_access_key. No se puede especificar la ID de clave de acceso secreta como una opción de línea de comandos.

AWS_SESSION_TOKEN

Especifica el valor del token de sesión que se requiere si utiliza credenciales de seguridad temporales que ha recuperado directamente de las operaciones de AWS STS. Para obtener más información, consulte la sección Output del comando de rol asumido en la Referencia de comando de AWS CLI.

Si se define, esta variable de entorno anula el valor de la configuración del perfil aws_session_token.

AWS_SHARED_CREDENTIALS_FILE

Especifica la ubicación del archivo que la AWS CLI utiliza para almacenar claves de acceso. La ruta predeterminada e ~/.aws/credentials.

No puede especificar este valor en una configuración de perfil con nombre o mediante un parámetro de la línea de comandos.

AWS_STS_REGIONAL_ENDPOINTS

Especifica cómo la AWS CLI determina el punto de enlace del servicio de AWS que el cliente de la AWS CLI utiliza para comunicarse con AWS Security Token Service (AWS STS).

  • El valor predeterminado para la versión 1 de AWS CLI es legacy.

  • El valor predeterminado para la versión 2 de AWS CLI es regional.

Puede especificar uno de estos dos valores:

  • legacy: utiliza el punto de enlace global de STS, sts.amazonaws.com, para las siguientes regiones de AWS: ap-northeast-1, ap-south-1, ap-southeast-1, ap-southeast-2, aws-global, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1 y us-west-2. Todas las demás regiones utilizan automáticamente su punto de enlace regional respectivo.

  • regional: la AWS CLI utiliza siempre el punto de enlace de AWS STS para la región configurada actualmente. Por ejemplo, si el cliente está configurado para usar us-west-2, todas las llamadas a AWS STS se hacen al punto de enlace regional sts.us-west-2.amazonaws.com en vez de al punto de enlace global sts.amazonaws.com. Para enviar una solicitud al punto de enlace global mientras esta configuración está habilitada, puede establecer la región en aws-global.

AWS_WEB_IDENTITY_TOKEN_FILE

Especifica la ruta de un archivo que contiene un token de acceso de OAuth 2.0 o un token de ID de OpenID Connect proporcionado por un proveedor de identidades. La AWS CLI carga el contenido de este archivo y lo pasa como argumento WebIdentityToken a la operación AssumeRoleWithWebIdentity.

Se utiliza con las variables de entorno AWS_ROLE_ARN y AWS_ROLE_SESSION_NAME.

Si se define, esta variable de entorno anula el valor de la configuración del perfil web_identity_token_file.

Para obtener más información sobre el uso de identidades web, consulte Adopción de un rol con una identidad web.

nota

Esta variable de entorno solo se aplica a un rol asumido con proveedor de identidad web y no se aplican a la configuración general del proveedor de roles asumidos.