Variables de entorno para configurar la AWS CLI - AWS Command Line Interface

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.

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

Para configurar todas las sesiones

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 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. Puede que tenga que reiniciar el terminal para que se cargue la configuración.

Para configurar solo para la sesión actual

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.

C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> set AWS_DEFAULT_REGION=us-west-2
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.

Variables de entorno que admite la AWS CLI

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

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

  • on utiliza el modo de petición automática completa 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 Cómo tener una solicitud de AWS CLI para los comandos.

AWS_CLI_FILE_ENCODING

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

Una lista de directorios adicionales para comprobar fuera de la ruta de búsqueda integrada de ~/.aws/models al cargar datos de AWS CLI. La configuración de esta variable de entorno indica los directorios adicionales que hay que comprobar primero antes de recurrir a las rutas de búsqueda integradas. Varias entradas se deben separar con el carácter os.pathsep que ‎es : en Linux o macOS y ; en Windows.

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 invalida el valor de la configuración del perfil region. Puede invalidar esta variable de entorno mediante el parámetro de la línea de comandos --region y la variable de entorno AWS_REGION compatible con el SDK de‎ AWS.

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_METADATA_SERVICE_NUM_ATTEMPTS

Al intentar recuperar las credenciales en una instancia de Amazon EC2 que se haya configurado con un rol de ‎IAM, AWS CLI intenta recuperar las credenciales una vez del servicio de metadatos de la instancia antes de detenerse. Si sabe que los comandos se ejecutarán en una instancia de Amazon EC2, puede aumentar este valor ‎para que AWS CLI realice varios intentos antes de desistir.

AWS_METADATA_SERVICE_TIMEOUT

El número de segundos antes de que una conexión al servicio de metadatos de la instancia agote el tiempo de espera. Al intentar recuperar las credenciales en una instancia de Amazon EC2 que se ha configurado con un rol de IAM, una conexión al servicio de metadatos de instancia agotará el tiempo de espera después de 1 segundo de forma predeterminada. Si sabe que está ejecutando en una instancia de Amazon EC2 con un rol de IAM configurado, puede aumentar este valor si es necesario.

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_REGION

La variable de entorno compatible con el SDK de AWS que especifica la región de AWS a la que se va a enviar la solicitud.‎

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

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