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.
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 deaws
. 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 predeterminadaCP1252
, la configuración deaws_cli_file_encoding=UTF-8
establece la CLI para que abra archivos de texto medianteUTF-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ácteros.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 entornoAWS_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
oconfig
, o el valordefault
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 deregion
. 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
yAWS_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ónAssumeRole
y pasa a formar parte del ARN del usuario del rol asumido:arn:aws:sts::
. 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.123456789012
:assumed-role/role_name
/role_session_name
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
yAWS_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_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
yus-west-2
. Todas las demás regiones utilizan automáticamente su punto de conexión 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 usarus-west-2
, todas las llamadas a AWS STS se hacen al punto de conexión regionalsts.us-west-2.amazonaws.com
en vez de al punto de conexión globalsts.amazonaws.com
. Para enviar una solicitud al punto de enlace global mientras esta configuración está habilitada, puede establecer la región enaws-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ónAssumeRoleWithWebIdentity
.Se utiliza con las variables de entorno
AWS_ROLE_ARN
yAWS_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.