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 Configuración del AWS CLI.

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 una cuenta 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.

  • 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.

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 Tener una solicitud de la 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

Default region name identifica la región de AWS a cuyos servidores desea enviar las solicitudes de forma predeterminada. Suele ser la región más cercana a usted, pero puede ser cualquier región. Por ejemplo, puede escribir us-west-2 para utilizar EE.UU. Oeste (Oregón). Esta es la región a la que se envían todas las solicitudes posteriores, a menos que especifique lo contrario en un comando concreto.

nota

Cuanto utilice la AWS CLI, debe especificar una región de AWS, ya sea de forma explícita o estableciendo una región predeterminada. Para obtener una lista de las regiones disponibles, consulte Regiones y puntos de enlace. Los designadores de región que la AWS CLI utiliza son los mismos nombres que aparecen en las URL y los puntos de enlace de servicio de AWS Management Console.

Si se define, esta variable de entorno anula 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_ENDPOINT_URL

Especifica el punto de conexión que se utiliza para todas las solicitudes de servicio.

Los ajustes de configuración de punto de conexión se encuentran en varios lugares, como las variables de entorno del sistema o del usuario, los archivos de configuración de AWS locales o declarados explícitamente en la línea de comandos como un parámetro. Los ajustes de configuración del punto de conexión de la AWS CLI tienen prioridad en el siguiente orden:

  1. La opción de línea de comandos --endpoint-url.

  2. Si está habilitada, la variable de entorno del punto de conexión AWS_IGNORE_CONFIGURED_ENDPOINT_URLS global o la configuración del perfil ignore_configure_endpoint_urls para ignorar los puntos de conexión personalizados.

  3. El valor proporcionado por una variable de entorno específica del servicio AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Los valores proporcionados por las variables de entorno AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT y AWS_ENDPOINT_URL.

  5. El valor de punto de conexión específico del servicio proporcionado por la configuración endpoint_url de una sección de services del archivo compartido config.

  6. El valor proporcionado por la configuración endpoint_url en un profile de un archivo compartido config.

  7. Configuración de use_dualstack_endpoint, use_fips_endpoint y endpoint_url.

  8. En último lugar, se utiliza cualquier URL de punto de conexión predeterminada para el Servicio de AWS respectivo. Para obtener una lista de los puntos de enlace de servicio estándar disponibles en cada región, consulte Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

AWS_ENDPOINT_URL_<SERVICE>

Especifica un punto de conexión personalizado que se utiliza para un servicio específico, donde <SERVICE> se sustituye por el identificador de Servicio de AWS. Por ejemplo, Amazon DynamoDB tiene un serviceId de DynamoDB. Para este servicio, la variable de entorno de la URL del punto de conexión es AWS_ENDPOINT_URL_DYNAMODB.

Para obtener una lista de todas las variables de entorno específicas del servicio, consulte Lista de identificadores específicos del servicio.

Los ajustes de configuración de punto de conexión se encuentran en varios lugares, como las variables de entorno del sistema o del usuario, los archivos de configuración de AWS locales o declarados explícitamente en la línea de comandos como un parámetro. Los ajustes de configuración del punto de conexión de la AWS CLI tienen prioridad en el siguiente orden:

  1. La opción de línea de comandos --endpoint-url.

  2. Si está habilitada, la variable de entorno del punto de conexión AWS_IGNORE_CONFIGURED_ENDPOINT_URLS global o la configuración del perfil ignore_configure_endpoint_urls para ignorar los puntos de conexión personalizados.

  3. El valor proporcionado por una variable de entorno específica del servicio AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Los valores proporcionados por las variables de entorno AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT y AWS_ENDPOINT_URL.

  5. El valor de punto de conexión específico del servicio proporcionado por la configuración endpoint_url de una sección de services del archivo compartido config.

  6. El valor proporcionado por la configuración endpoint_url en un profile de un archivo compartido config.

  7. Configuración de use_dualstack_endpoint, use_fips_endpoint y endpoint_url.

  8. En último lugar, se utiliza cualquier URL de punto de conexión predeterminada para el Servicio de AWS respectivo. Para obtener una lista de los puntos de enlace de servicio estándar disponibles en cada región, consulte Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

AWS_IGNORE_CONFIGURED_ENDPOINT_URLS

Si está habilitada, AWS CLI ignora todas las configuraciones de punto de conexión personalizadas. Los valores válidos son true y false.

Los ajustes de configuración de punto de conexión se encuentran en varios lugares, como las variables de entorno del sistema o del usuario, los archivos de configuración de AWS locales o declarados explícitamente en la línea de comandos como un parámetro. Los ajustes de configuración del punto de conexión de la AWS CLI tienen prioridad en el siguiente orden:

  1. La opción de línea de comandos --endpoint-url.

  2. Si está habilitada, la variable de entorno del punto de conexión AWS_IGNORE_CONFIGURED_ENDPOINT_URLS global o la configuración del perfil ignore_configure_endpoint_urls para ignorar los puntos de conexión personalizados.

  3. El valor proporcionado por una variable de entorno específica del servicio AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Los valores proporcionados por las variables de entorno AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT y AWS_ENDPOINT_URL.

  5. El valor de punto de conexión específico del servicio proporcionado por la configuración endpoint_url de una sección de services del archivo compartido config.

  6. El valor proporcionado por la configuración endpoint_url en un profile de un archivo compartido config.

  7. Configuración de use_dualstack_endpoint, use_fips_endpoint y endpoint_url.

  8. En último lugar, se utiliza cualquier URL de punto de conexión predeterminada para el Servicio de AWS respectivo. Para obtener una lista de los puntos de enlace de servicio estándar disponibles en cada región, consulte Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

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_USE_DUALSTACK_ENDPOINT

Permite el uso de puntos de conexión de doble pila para enviar solicitudes de AWS. Para obtener más información sobre los puntos de conexión de doble pila, que admiten tráfico de IPv4 e IPv6, consulte Uso de puntos de conexión de doble pila de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service. Los puntos de conexión de doble pila están disponibles para algunos servicios en algunas regiones. Si no existe un punto de conexión de doble pila para el servicio o Región de AWS, la solicitud produce un error. Esta opción está deshabilitada de forma predeterminada.

Los ajustes de configuración de punto de conexión se encuentran en varios lugares, como las variables de entorno del sistema o del usuario, los archivos de configuración de AWS locales o declarados explícitamente en la línea de comandos como un parámetro. Los ajustes de configuración del punto de conexión de la AWS CLI tienen prioridad en el siguiente orden:

  1. La opción de línea de comandos --endpoint-url.

  2. Si está habilitada, la variable de entorno del punto de conexión AWS_IGNORE_CONFIGURED_ENDPOINT_URLS global o la configuración del perfil ignore_configure_endpoint_urls para ignorar los puntos de conexión personalizados.

  3. El valor proporcionado por una variable de entorno específica del servicio AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Los valores proporcionados por las variables de entorno AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT y AWS_ENDPOINT_URL.

  5. El valor de punto de conexión específico del servicio proporcionado por la configuración endpoint_url de una sección de services del archivo compartido config.

  6. El valor proporcionado por la configuración endpoint_url en un profile de un archivo compartido config.

  7. Configuración de use_dualstack_endpoint, use_fips_endpoint y endpoint_url.

  8. En último lugar, se utiliza cualquier URL de punto de conexión predeterminada para el Servicio de AWS respectivo. Para obtener una lista de los puntos de enlace de servicio estándar disponibles en cada región, consulte Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

AWS_USE_FIPS_ENDPOINT

Algunos servicios de AWS ofrecen puntos de conexión compatibles que admiten el Estándar de procesamiento de la información federal (FIPS) 140-2 en algunas Regiones de AWS. Cuando el servicio de AWS es compatible con FIPS, esta configuración establece qué punto de conexión FIPS debe utilizar la AWS CLI. A diferencia de los puntos de conexión de AWS estándar, los puntos de conexión FIPS utilizan una biblioteca de software TLS que cumple con FIPS 140-2. Las empresas que trabajan con el gobierno de los Estados Unidos pueden requerir estos puntos de conexión.

Si esta configuración está habilitada pero no existe un punto de conexión FIPS para el servicio en la Región de AWS, es posible que el comando AWS produzca un error. En este caso, especifique manualmente el punto de conexión que se va a utilizar en el comando mediante la opción --endpoint-url o utilice los puntos de conexión específicos del servicio.

Para obtener más información sobre cómo especificar los puntos de conexión de FIPS por Región de AWS, consulte Puntos de conexión de FIPS por servicio.

Los ajustes de configuración de punto de conexión se encuentran en varios lugares, como las variables de entorno del sistema o del usuario, los archivos de configuración de AWS locales o declarados explícitamente en la línea de comandos como un parámetro. Los ajustes de configuración del punto de conexión de la AWS CLI tienen prioridad en el siguiente orden:

  1. La opción de línea de comandos --endpoint-url.

  2. Si está habilitada, la variable de entorno del punto de conexión AWS_IGNORE_CONFIGURED_ENDPOINT_URLS global o la configuración del perfil ignore_configure_endpoint_urls para ignorar los puntos de conexión personalizados.

  3. El valor proporcionado por una variable de entorno específica del servicio AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Los valores proporcionados por las variables de entorno AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT y AWS_ENDPOINT_URL.

  5. El valor de punto de conexión específico del servicio proporcionado por la configuración endpoint_url de una sección de services del archivo compartido config.

  6. El valor proporcionado por la configuración endpoint_url en un profile de un archivo compartido config.

  7. Configuración de use_dualstack_endpoint, use_fips_endpoint y endpoint_url.

  8. En último lugar, se utiliza cualquier URL de punto de conexión predeterminada para el Servicio de AWS respectivo. Para obtener una lista de los puntos de enlace de servicio estándar disponibles en cada región, consulte Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

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.