Opciones de los archivos de configuración y credenciales - AWS Command Line Interface

Opciones de los archivos de configuración y credenciales

Puede guardar las opciones de configuración y las credenciales que utiliza con frecuencia en archivos que son mantenidos por la AWS CLI.

Los archivos se dividen en profiles. De forma predeterminada, la AWS CLI utiliza las opciones que se encuentran en el perfil denominado default. Para utilizar una configuración diferente, puede crear y hacer referencia a perfiles adicionales.

También es posible anular una opción individual estableciendo una de las variables de entorno compatibles o utilizando un parámetro de la línea de comandos. Para obtener más información sobre la prioridad de opciones de configuración, consulte Configuración del AWS CLI.

nota

Para obtener información sobre cómo configurar las credenciales, consulte Credenciales de autenticación y acceso.

Formato de los archivos de configuración y credenciales

Los archivos config y credentials están organizados en secciones. Las secciones incluyen perfiles, sso-sessions y servicios. Una sección es una colección con nombre de configuraciones y continúa hasta que se encuentra otra línea de definición de sección. Se pueden almacenar varios perfiles y secciones en los archivos config y credentials.

Son archivos de texto sin formato que utilizan el formato siguiente:

  • Los nombres de las secciones aparecen entre corchetes [ ] como [default], [profile user1] y [sso-session].

  • Todas las entradas de una sección adoptan el formato general de setting_name=value.

  • Las líneas se pueden comentar si se inician con un carácter de almohadilla (#).

Los archivos config y credentials contienen los siguientes tipos de secciones:

Tipo de sección: profile

Las tiendas de la AWS CLI

En función del archivo, los nombres de la sección del perfil utilizan el formato siguiente:

  • Archivo de configuración:[default][profile user1]

  • Archivo de credenciales: [default] [user1]

    no utilice la palabra profile cuando cree una entrada en el archivo credentials.

Cada perfil puede usar credenciales diferentes y también puede especificar diferentes formatos de salida y regiones de AWS. Al asignar un nombre al perfil en un archivo config, incluya la palabra de prefijo “profile”, pero no la incluya en el archivo credentials.

En los siguientes ejemplos se muestra un archivo credentials y config con dos perfiles, región y salida especificados. El primero [predeterminado] se utiliza cuando se ejecuta un comando de la AWS CLI sin un perfil especificado. El segundo se utiliza cuando se ejecuta un comando de la AWS CLI con el parámetro --profile user1.

IAM Identity Center (SSO)

Este es un ejemplo de AWS IAM Identity Center. Para obtener más información, consulte Configuración del proveedor de tokens con actualización automática de autenticación para IAM Identity Center.

Archivo de credenciales

El archivo credentials no se utiliza para este método de autenticación.

Archivo de configuración

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

Este ejemplo corresponde al método heredado de AWS IAM Identity Center. Para obtener más información, consulte Configuración heredada no actualizable para AWS IAM Identity Center.

Archivo de credenciales

El archivo credentials no se utiliza para este método de autenticación.

Archivo de configuración

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

Este ejemplo corresponde a las credenciales de corta duración de AWS Identity and Access Management. Para obtener más información, consulte Autenticar con credenciales a corto plazo.

Archivo de credenciales

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Archivo de configuración

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

Este ejemplo se usa para asumir un rol de IAM. Los perfiles que utilizan roles de IAM extraen las credenciales de otro perfil y, a continuación, aplican los permisos de rol de IAM. En los siguientes ejemplos, default es el perfil de origen de las credenciales y user1 toma prestadas las mismas credenciales y, a continuación, asume un nuevo rol. Para obtener más información, consulte Usar un rol de IAM de la AWS CLI.

Archivo de credenciales

El archivo credentials depende de la autenticación que utilice su perfil de origen. En el siguiente ejemplo, el perfil de origen utiliza credenciales de corta duración.

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Archivo de configuración

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

Este ejemplo corresponde a las credenciales obtenidas de los metadatos de la instancia de Amazon EC2 de alojamiento. Para obtener más información, consulte Utilizar credenciales para los metadatos de instancias de Amazon EC2.

Archivo de credenciales

El archivo credentials no se utiliza para este método de autenticación.

Archivo de configuración

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
aviso

Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como AWS IAM Identity Center.

Este ejemplo corresponde a las credenciales de larga duración de AWS Identity and Access Management. Para obtener más información, consulte Autenticar con credenciales de usuario de IAM.

Archivo de credenciales

[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

Archivo de configuración

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

Para obtener más información y métodos adicionales de autorización y credenciales, consulte Autenticar con credenciales de usuario de IAM.

Tipo de sección: sso-session

La sección sso-session del archivo config se usa para agrupar las variables de configuración para adquirir los tokens de acceso SSO, que luego se pueden usar para adquirir credenciales de AWS. Se utilizan las siguientes configuraciones:

Defina una sección sso-session y asóciela a un perfil. sso_region ysso_start_url deben establecerse en la sección sso-session. Normalmente, sso_account_id y sso_role_name deben establecerse en la sección profile para que el SDK pueda solicitar las credenciales de SSO.

En el siguiente ejemplo se configura el SDK para que solicite credenciales de SSO y admita la actualización automática de tokens:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Esto también permite reutilizar las configuraciones de sso-session en varios perfiles:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

No obstante, sso_account_id y sso_role_name no son necesarios para todos los escenarios de configuración de token de SSO. Si su aplicación solo utiliza servicios de AWS que admiten la autenticación de portador, no son necesarias las credenciales de AWS tradicionales. La autenticación de portador es un esquema de autenticación HTTP que utiliza tokens de seguridad denominados tokens de portador. En este escenario, no se necesitan sso_account_id ni sso_role_name. Consulte la guía individual de su servicio de AWS para determinar si admite la autorización de token de portador.

Además, los ámbitos de registro pueden configurarse como parte de sso-session. El alcance es un mecanismo de OAuth 2.0 para limitar el acceso de una aplicación a la cuenta de un usuario. Una solicitud puede pedir uno o varios ámbitos y el token de acceso emitido a la solicitud se limitará a los ámbitos concedidos. Estos ámbitos definen los permisos cuya autorización se solicita para el cliente OIDC registrado y los tokens de acceso recuperados por el cliente. El siguiente ejemplo establece sso_registration_scopes para proporcionar acceso para enumerar cuentas/roles:

[sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access

El token de autenticación se almacena en caché en el disco en el directorio ~/.aws/sso/cache con un nombre de archivo basado en el nombre de la sesión.

Para obtener más información sobre este tipo de configuración, consulte Configuración del proveedor de tokens con actualización automática de autenticación para IAM Identity Center.

Tipo de sección: services

La sección de services es un grupo de ajustes que configura puntos de conexión personalizados para las solicitudes de Servicio de AWS. A continuación, se vincula un perfil a una sección de services.

[profile dev] services = my-services

La sección de services se separa en subsecciones por líneas <SERVICE> = , donde <SERVICE> es la clave del identificador de Servicio de AWS. El identificador de Servicio de AWS se basa en serviceId del modelo de la API, sustituyendo todos los espacios por guiones bajos y poniendo en minúsculas todas las letras. Para obtener una lista de todas las claves de identificación de servicio que se van a utilizar en la sección de services, consulte Usar puntos de conexión de la AWS CLI. La clave del identificador del servicio va seguida de configuraciones anidadas, cada una en su propia línea y marcada con dos espacios.

En el siguiente ejemplo, se configura el punto de conexión que se utilizará en las solicitudes realizadas al servicio de Amazon DynamoDB en la sección my-services que se utiliza en el perfil de desarrollo. Todas las líneas inmediatamente siguientes que estén sangradas se incluyen en esa subsección y se aplican a ese servicio.

[profile dev] services = my-services [services my-services] dynamodb = endpoint_url = http://localhost:8000

Para obtener más información sobre puntos de conexión específicos del servicio, consulte Usar puntos de conexión de la AWS CLI.

Si el perfil tiene credenciales basadas en roles configuradas mediante un parámetro source_profile para la funcionalidad de asumir roles de IAM, el SDK solo usa configuraciones de servicio para el perfil especificado. No utiliza perfiles que estén vinculados a él por roles. Por ejemplo, mediante el siguiente archivo config compartido:

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

Si usa el perfil B y realiza una llamada en el código a Amazon EC2, el punto de conexión se resuelve como https://profile-b-ec2-endpoint.aws. Si el código realiza una solicitud a cualquier otro servicio, la resolución del punto de conexión no seguirá ninguna lógica personalizada. El punto de conexión no se convierte en el punto de conexión global definido en el perfil A. Para que un punto de conexión global surta efecto en el perfil B, tendrá que configurar endpoint_url directamente dentro del perfil B.

¿Dónde se almacenan las opciones de configuración?

La AWS CLI almacena la información confidencial de las credenciales especificadas con aws configure en un archivo local denominado credentials en una carpeta denominada .aws del directorio principal. Las opciones de configuración menos confidenciales especificadas con aws configure se guardan en un archivo local denominado config, que también se almacena en la carpeta .aws del directorio principal.

Almacenamiento de credenciales en el archivo de configuración

Puede mantener todas las opciones de perfil en un solo archivo, ya que la AWS CLI puede leer las credenciales del archivo config. Si hay credenciales en ambos archivos para un perfil que comparte el mismo nombre, las claves del archivo de credenciales tienen prioridad. Sugerimos guardar las credenciales en los archivos credentials. Los kits de desarrollo de software (SDK) de varios lenguajes también utilizan estos archivos. Si utiliza uno de los SDK además de la AWS CLI, confirme si las credenciales deben almacenarse en su propio archivo.

La ubicación del directorio principal varía en función del sistema operativo, pero se hace referencia a él mediante las variables de entorno %UserProfile% en Windows y $HOME o ~ (tilde) en los sistemas basados en Unix. Puede especificar una ubicación no predeterminada para los archivos ‎configurando ‎las variables de entorno AWS_CONFIG_FILE y AWS_SHARED_CREDENTIALS_FILE en otra ruta local. Para obtener más información, consulte Variables de entorno para configurar la AWS CLI.

Cuando se utiliza un perfil compartido que especifica un rol de AWS Identity and Access Management (IAM), la AWS CLI llama a la operación AWS STS de AssumeRole para recuperar las credenciales temporales. A continuación, se almacenan estas credenciales (en ~/.aws/cli/cache). Los comandos de la AWS CLI posteriores utilizan las credenciales temporales almacenadas en caché hasta que caducan, momento en el cual la AWS CLI las actualiza automáticamente.

Usar perfiles con nombre

Si no se define explícitamente ningún perfil, se utilizará el perfil default.

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.

$ aws ec2 describe-instances --profile user1

Si desea utilizar un perfil con nombre para varios comandos, puede evitar especificarlo en cada comando mediante el establecimiento de la variable de entorno AWS_PROFILE como el perfil predeterminado. Puede invalidar esta configuración con el parámetro --profile.

Linux or 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.

Definir y ver las opciones de configuración mediante comandos

Hay varias formas de ver y establecer las opciones de configuración mediante comandos.

aws configure

Ejecute este comando para establecer y ver rápidamente las credenciales de , la región y el formato de salida. En el ejemplo siguiente se muestran los valores de ejemplo.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json
aws configure set

Puede establecer las credenciales o las opciones de configuración mediante aws configure set. Especifique el perfil que desea ver o modificar con la opción --profile.

Por ejemplo, el siguiente comando configura region en el perfil denominado integ.

$ aws configure set region us-west-2 --profile integ

Para quitar una opción, utilice una cadena vacía como valor o elimine manualmente la opción de los archivos config y credentials en un editor de texto.

$ aws configure set cli_pager "" --profile integ
aws configure get

Puede recuperar las credenciales o las opciones de configuración que haya establecido utilizando aws configure get. Especifique el perfil que desea ver o modificar con la opción --profile.

Por ejemplo, el siguiente comando recupera la opción region en el perfil denominado integ.

$ aws configure get region --profile integ us-west-2

Si la salida está vacía, significa que la configuración no está establecida de forma explícita y se utiliza el valor predeterminado.

aws configure import

Importe las credenciales de CSV generadas desde la consola web de IAM. No es para las credenciales generadas desde Centro de identidades de IAM; los clientes que usen Centro de identidades de IAM deben usar aws configure sso. Se importa un archivo CSV con el nombre de perfil correspondiente al nombre de usuario. El archivo CSV debe contener los siguientes encabezados.

  • Nombre de usuario

  • ID de clave de acceso

  • Clave de acceso secreta

nota

Durante la creación del par de claves inicial, una vez que cierre el cuadro de diálogo Download .csv file (Descargar archivo ‎.csv), no puede acceder a la clave de acceso secreta después de cerrar el cuadro de diálogo. Si necesita un archivo .csv, tendrá que crear uno usted mismo con los encabezados necesarios y la información del par de claves almacenada. Si no tiene acceso a la información del par de claves, debe crear un nuevo par de claves.

$ aws configure import --csv file://credentials.csv
aws configure list

Para mostrar los datos de configuración, utilice el comando aws configure list. Este comando muestra el perfil, la clave de acceso, la clave secreta y la información de configuración de la región utilizada para el perfil especificado. Para cada elemento de configuración, muestra el valor, dónde se recuperó el valor de configuración y el nombre de la variable de configuración.

Por ejemplo, si proporciona el valor Región de AWS en una variable de entorno, este comando le mostrará el nombre de la región que ha configurado, que este valor proviene de una variable de entorno y el nombre de la variable de entorno.

En el caso de los métodos de credenciales temporales, como los roles y el Centro de identidades de IAM, este comando muestra la clave de acceso almacenada temporalmente en caché y se muestra la clave de acceso secreta.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles

Para enumerar todos los nombres de perfil, utilice el comando aws configure list-profiles.

$ aws configure list-profiles default test
aws configure sso

Ejecute este comando para establecer y ver rápidamente las credenciales de AWS IAM Identity Center, la región y el formato de salida. En el ejemplo siguiente se muestran los valores de ejemplo.

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
aws configure sso-session

Ejecute este comando para establecer y ver rápidamente las credenciales de AWS IAM Identity Center, la región y el formato de salida en la sección sso-session de los archivos credentials y config. En el ejemplo siguiente se muestran los valores de ejemplo.

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

Establecimiento de una nueva configuración y ejemplos de comandos de credenciales

En los siguientes ejemplos se muestra la configuración de un perfil predeterminado con credenciales, región y salida especificados para diferentes métodos de autenticación.

IAM Identity Center (SSO)

Este ejemplo corresponde a AWS IAM Identity Center con el asistente de aws configure sso. Para obtener más información, consulte Configuración del proveedor de tokens con actualización automática de autenticación para IAM Identity Center.

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

Este ejemplo corresponde al método heredado de AWS IAM Identity Center con el asistente aws configure sso. Para usar el SSO heredado, deje el nombre de la sesión en blanco. Para obtener más información, consulte Configuración heredada no actualizable para AWS IAM Identity Center.

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

Este ejemplo corresponde a las credenciales de corta duración de AWS Identity and Access Management. El asistente aws configure se utiliza para establecer los valores iniciales y, a continuación, el comando aws configure set asigna el último valor necesario. Para obtener más información, consulte Autenticar con credenciales a corto plazo.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

Este ejemplo se usa para asumir un rol de IAM. Los perfiles que utilizan roles de IAM extraen las credenciales de otro perfil y, a continuación, aplican los permisos de rol de IAM. En los siguientes ejemplos, default es el perfil de origen de las credenciales y user1 toma prestadas las mismas credenciales y, a continuación, asume un nuevo rol. No existe ningún asistente para este proceso, por lo que cada valor se establece con el comando aws configure set. Para obtener más información, consulte Usar un rol de IAM de la AWS CLI.

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

Este ejemplo corresponde a las credenciales obtenidas de los metadatos de la instancia de Amazon EC2 de alojamiento. No existe ningún asistente para este proceso, por lo que cada valor se establece con el comando aws configure set. Para obtener más información, consulte Utilizar credenciales para los metadatos de instancias de Amazon EC2.

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
aviso

Para evitar riesgos de seguridad, no utilice a los usuarios de IAM para la autenticación cuando desarrolle software especialmente diseñado o trabaje con datos reales. En cambio, utilice la federación con un proveedor de identidades como AWS IAM Identity Center.

Este ejemplo corresponde a las credenciales de larga duración de AWS Identity and Access Management. Para obtener más información, consulte Autenticar con credenciales de usuario de IAM.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Configuraciones del archivo config admitidas

Se admiten las siguientes opciones en el archivo config. Se utilizan los valores enumerados en el perfil especificado (o predeterminado) a menos que queden anulados por la presencia de una variable de entorno con el mismo nombre o una opción de línea de comandos con el mismo nombre. Para obtener más información sobre las opciones que tienen prioridad, consulte Configuración del AWS CLI

Global settings (Configuración global)

aws_access_key_id

Especifica la clave de acceso de AWS que se utiliza como parte de las credenciales para autenticar la solicitud del comando. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_ACCESS_KEY_ID. No se puede especificar el ID de clave de acceso como una opción de línea de comandos.

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key

Especifica la clave secreta de AWS que se utiliza como parte de las credenciales para autenticar la solicitud del comando. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_SECRET_ACCESS_KEY. No se puede especificar la clave de acceso secreta como una opción de línea de comandos.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

Especifica un token de sesión de AWS. Un token de sesión solo es necesario si especifica manualmente credenciales de seguridad temporales. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_SESSION_TOKEN. No se puede especificar un token de sesión como una opción de línea de comandos.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Especifica un paquete de certificados de CA (un archivo con la extensión .pem) que se utiliza para verificar certificados SSL.

Se puede anular mediante la variable de entorno AWS_CA_BUNDLE o la opción de línea de comandos --ca-bundle.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
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.

    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.

    cli_auto_prompt = on-partial

Puede anular esta configuración mediante la variable de entorno de aws_cli_auto_prompt o los parámetros de la línea de comandos --cli-auto-prompt y --no-cli-auto-prompt.

Para obtener información sobre la características de petición automática de la versión 2 de AWS CLI, consulte Tener una solicitud de la AWS CLI para los comandos.

cli_binary_format

Especifica cómo la versión 2 de AWS CLI interpreta los parámetros de entrada binarios. Puede ser uno de los siguientes valores:

  • base64: este es el valor predeterminado. Un parámetro de entrada escrito como un objeto binario grande (BLOB) acepta una cadena codificada en base64. Para pasar verdadero contenido binario, coloque el contenido en un archivo y proporcione la ruta y el nombre del archivo con el prefijo fileb:// como valor del parámetro. Para pasar el texto codificado en base64 incluido en un archivo, proporcione la ruta y el nombre del archivo con el prefijo file:// como valor del parámetro.

  • raw-in-base64-out: valor predeterminado para la AWS CLI versión 1. Si el valor de la configuración es raw-in-base64-out, los archivos a los que se hace referencia mediante el prefijo file:// se leen como texto y, a continuación, la AWS CLI intenta codificarlo en binario.

Esta entrada no tiene una variable de entorno equivalente. Puede especificar el valor en un solo comando mediante el parámetro --cli-binary-format raw-in-base64-out.

cli_binary_format = raw-in-base64-out

Si hace referencia a un valor binario en un archivo mediante la notación del prefijo fileb://, la AWS CLI siempre espera que el archivo incluya contenido binario sin codificar y no intenta convertir el valor.

Si hace referencia a un valor binario en un archivo mediante la notación del prefijo file://, la AWS CLI tratará el archivo de acuerdo con el valor de cli_binary_format actual. Si el valor de esa configuración es base64 (el valor predeterminado cuando no se establece explícitamente), la AWS CLI espera que el archivo contenga texto codificado en base64. Si el valor de esa configuración es raw-in-base64-out, la AWS CLI espera que el archivo incluya contenido binario sin codificar.

cli_history

Está deshabilitado de forma predeterminada. Esta configuración habilita el historial de comandos para la AWS CLI. Después de habilitar esta configuración, la AWS CLI registra el historial de comandos aws.

cli_history = enabled

Puede hacer una lista de su historial con el comando aws history list y utilizar los command_ids resultantes en el comando aws history show para obtener más información. Para obtener más información, consulte aws history en la Guía de referencia de AWS CLI.

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

Puede ser anulado por la variable de entorno AWS_PAGER.

cli_pager=less

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

cli_pager=
cli_timestamp_format

Especifica el formato de los valores de la marca temporal incluidos en la salida. Puede especificar cualquiera de los siguientes valores:

  • iso8601: el valor predeterminado para la versión 2 de AWS CLI. Si se especifica, la AWS CLI cambia el formato de todas las marcas temporales conforme a ISO 8601.

    Las marcas temporales con formato ISO 8601 se parecen a los siguientes ejemplos. El primer ejemplo muestra la hora en hora universal coordinada (UTC) mediante la inclusión de una Z después de la hora. La fecha y la hora están separadas por una T.

    2019-10-31T22:21:41Z

    Para especificar una zona horaria diferente, en lugar de Z, especifique + o - y el número de horas que esta zona horaria está por delante o por detrás de UTC mediante un valor de dos dígitos. En el siguiente ejemplo, se muestra la misma hora que en el ejemplo anterior, pero ajustada a la hora estándar del Pacífico, que va ocho horas por detrás de UTC:

    2019-10-31T14:21:41-08
  • wire: el valor predeterminado para la versión 1 de AWS CLI. Si se especifica, la AWS CLI muestra todos los valores de las marcas temporales exactamente como se recibieron en la respuesta de la consulta HTTP.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

cli_timestamp_format = iso8601
credential_process

Especifica un comando externo que la AWS CLI ejecuta para generar o recuperar las credenciales de autenticación que se van a utilizar para este comando. El comando debe devolver las credenciales en un formato específico. Para obtener más información sobre el uso de esta configuración, consulte Obtener credenciales con un proceso externo.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Se utiliza en instancias o en contenedores de Amazon EC2 para especificar dónde la AWS CLI puede encontrar credenciales para usar a fin de asumir el rol que usted especificó con el parámetro role_arn. No puede especificar source_profile y credential_source en el mismo perfil.

Este parámetro puede tener uno de tres valores:

  • Environment (entorno): especifica que la AWS CLI va a recuperar las credenciales fuente a partir de las variables de entorno.

  • Ec2InstanceMetadata: especifica que la AWS CLI va a utilizar el rol de IAM asociado al perfil de instancia EC2 para obtener las credenciales fuente.

  • EcsContainer: especifica que la AWS CLI va a utilizar el rol de IAM asociado al contenedor de ECS como credenciales fuente.

credential_source = Ec2InstanceMetadata
duration_seconds

Especifica la duración máxima de la sesión de rol, en segundos. Este valor puede oscilar entre 900 segundos (15 minutos) y el valor de la duración máxima de la sesión para el rol (que puede ser 43200 como máximo). Se trata de un parámetro opcional y, de forma predeterminada, el valor se establece en 3600 segundos.

endpoint_url

Especifica el punto de conexión que se utiliza para todas las solicitudes de servicio. Si esta configuración se usa en la sección de services del archivo config, el punto de conexión se usa solo para el servicio especificado.

En el siguiente ejemplo, se utiliza el punto de conexión global http://localhost:1234 y un punto de conexión específico del servicio de http://localhost:4567 para Amazon S3.

[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

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.

ignore_configure_endpoint_urls

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

ignore_configure_endpoint_urls = true

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.

external_id

Especifica un identificador único utilizado por terceros para adoptar un rol en las cuentas de los clientes. Se asigna al parámetro ExternalId en la operación AssumeRole. Este parámetro solo es necesario si la política de confianza del rol especifica un valor para ExternalId. Para obtener más información, consulte Cómo utilizar un ID externo al conceder acceso a los recursos de AWS a terceros en la Guía del usuario de IAM.

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 hasta el valor max_attempts que usted le proporciona.

Puede invalidar este valor mediante la variable de entorno de AWS_MAX_ATTEMPTS.

max_attempts = 3
mfa_serial

El número de identificación del dispositivo MFA que se debe utilizar al asumir un rol. Este valor solo es obligatorio si la política de confianza del rol que se ha asumido incluye una condición que requiere autenticación MFA. El valor puede ser un número de serie de un dispositivo de hardware (como GAHT12345678) o un nombre de recurso de Amazon (ARN) de un dispositivo MFA virtual (como arn:aws:iam::123456789012:mfa/user).

output

Especifica el formato de la salida predeterminado para los comandos solicitados con este perfil. Puede especificar cualquiera de los siguientes valores:

  • json: la salida se formatea como una cadena JSON.

  • yaml: la salida se formatea como una cadena YAML.

  • yaml-stream: la salida se transmite y se formatea como una cadena YAML. El streaming permite un manejo más rápido de tipos de datos de gran tamaño.

  • text: la salida tiene el formato de varias líneas de valores de cadena separados por tabuladores. Esto puede ser útil para pasar la salida a un procesador de texto, como grep, sed o awk.

  • table: el resultado tiene el formato de una tabla en la que se usan los caracteres +|- para los bordes de celda. Normalmente, la información se presenta en un formato que es más fácil de leer que los demás formatos, pero que no es útil para programar.

Se puede anular mediante la variable de entorno AWS_DEFAULT_OUTPUT o la opción de línea de comandos --output.

output = table
parameter_validation

Especifica si el cliente de la AWS CLI intenta validar parámetros antes de enviarlos al punto de enlace de servicio de AWS.

  • true (verdadero): es el valor predeterminado. Si se especifica, la AWS CLI realiza la validación local de los parámetros de la línea de comandos.

  • false (falso): si se especifica, la AWS CLI no valida los parámetros de la línea de comandos antes de enviarlos al punto de enlace de servicio de AWS.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

parameter_validation = false
region

Especifica la Región de AWS a la que se envían solicitudes para los comandos solicitados con este perfil.

  • Puede especificar cualquiera de los códigos de región disponibles para el servicio elegido que se muestran en Regiones y puntos de conexión de AWS en la Referencia general de Amazon Web Services.

  • aws_global le permite especificar el punto de conexión global para los servicios que admiten un punto de conexión global además de puntos de conexión regionales, como AWS Security Token Service (AWS STS) y Amazon Simple Storage Service (Amazon S3).

Puede invalidar este valor mediante la variable de entorno AWS_REGION, variable de entorno AWS_DEFAULT_REGION o la opción de línea de comandos --region.

region = us-west-2
retry_mode

Especifica qué modo de reintento 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.

Puede invalidar este valor mediante la variable de entorno de AWS_RETRY_MODE.

retry_mode = standard
role_arn

Especifica el nombre de recurso de Amazon (ARN) del rol de IAM que desea utilizar para ejecutar los comandos de la AWS CLI. También debe especificar uno de los siguientes parámetros para identificar las credenciales que tienen permiso para asumir este rol:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

La variable de entorno AWS_ROLE_ARN anula esta configuración.

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

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.

role_session_name = maria_garcia_role

La variable de entorno AWS_ROLE_SESSION_NAME anula esta configuración.

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

services

Especifica la configuración del servicio que se utilizará en el perfil.

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567

Para obtener más información sobre la sección de services, consulte Tipo de sección: services.

La variable de entorno AWS_ROLE_SESSION_NAME anula esta configuración.

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

source_profile

Especifica un perfil con nombre con credenciales duraderas que la AWS CLI puede utilizar para asumir el rol que ha especificado con el parámetro role_arn. No puede especificar source_profile y credential_source en el mismo perfil.

source_profile = production-profile
sso_account_id

Especifica el ID de la cuenta de AWS que contiene el rol de IAM con el permiso que desea conceder al usuario de IAM Identity Center asociado.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_account_id = 123456789012
sso_region

Especifica la región de AWS que contiene el host del portal de acceso de AWS. Esto es independiente (y puede ser una región diferente) del parámetro region predeterminado de la CLI.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_region = us_west-2
sso_registration_scopes

Una lista delimitada por comas de los ámbitos que deben autorizarse para la sso-session. Los ámbitos autorizan el acceso a los puntos de conexión autorizados por el token de portador del Centro de identidades de IAM. Un ámbito válido es una cadena, por ejemplo, sso:account:access. Esta configuración no es aplicable a la configuración heredada no actualizable.

sso_registration_scopes = sso:account:access
sso_role_name

Especifica el nombre descriptivo del rol de IAM que define los permisos que tiene el usuario cuando utiliza este perfil.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_role_name = ReadAccess
sso_start_url

Especifica la URL que apunta al portal de acceso de AWS de la organización. La AWS CLI utiliza esta dirección URL para establecer una sesión con el servicio IAM Identity Center para autenticar a sus usuarios. Para encontrar la URL del portal de acceso de AWS, puede usar una de las opciones siguientes:

  • Abra el correo electrónico de invitación, aparece la URL del portal de acceso de AWS.

  • Abra la consola de AWS IAM Identity Center en https://console.aws.amazon.com/singlesignon/. La URL del portal de acceso de AWS aparece en la configuración.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_start_url = https://my-sso-portal.awsapps.com/start
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.

Es mutuamente excluyente con la configuración use_accelerate_endpoint.

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.

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.

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.

La variable de entorno AWS_WEB_IDENTITY_TOKEN_FILE anula esta configuración.

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

tcp_keepalive

Especifica si el cliente de la AWS CLI utiliza paquetes keep-alive de TCP.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

tcp_keepalive = false

Configuración de comandos personalizados de S3

Amazon S3 admite varios ajustes que configuran la forma en que la AWS CLI realiza operaciones de Amazon S3. Algunos se aplican a todos los comandos de S3 tanto en los espacios de nombres s3 como s3api. Otros son específicos de los comandos "personalizados" de S3 que abstraen operaciones comunes y hacen más que un mapeo uno a uno en una operación de la API. Los comandos de aws s3 de transferencia cp, sync, mv y rm tienen opciones adicionales que puede utilizar para controlar las transferencias de S3.

Para configurar todas estas opciones, especifique la configuración s3 anidada en su archivo config. A continuación, se introduce con sangría cada configuración en su propia línea.

nota

Estos ajustes son completamente opcionales. Debe poder utilizar los comandos de transferencia de aws s3 sin configurar ninguno de estos ajustes. Estas opciones se ofrecen para afinar el rendimiento o para tener en cuenta el entorno específico en el que se ejecutan estos comandos de aws s3.

Estos ajustes se establecen con una clave de s3 de alto nivel en el archivo config, tal y como se muestra en el siguiente ejemplo del perfil development.

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

Los siguientes ajustes se aplican a cualquier comando de S3 en el espacio de nombres s3 o s3api.

addressing_style

Especifica qué estilo de direccionamiento debe usarse. Esto controla si el nombre del bucket está en el hostname o es parte de la URL. Los valores válidos son path, virtual y auto. El valor predeterminado es auto.

Hay dos estilos para crear un punto enlace de Amazon S3. El primero se llama virtual e incluye el nombre del bucket como parte del nombre de host. Por ejemplo: https://bucketname.s3.amazonaws.com. Si lo desea, también puede utilizar el estilo path, que tratará el nombre del bucket como si fuera una ruta del URI; por ejemplo, https://s3.amazonaws.com/bucketname. El valor predeterminado en la CLI es utilizar auto, que intenta utilizar el estilo virtual siempre que puede, pero usará el estilo path cuando sea necesario. Por ejemplo, si el nombre del bucket no es compatible con DNS, el nombre del bucket no puede formar parte del nombre de host y debe estar en la ruta. Con auto, la CLI detectará esta condición y cambiará automáticamente al estilo path. Si establece el estilo de direccionamiento en path, debe asegurarse de que la región de AWS que ha configurado en la AWS CLI coincida con la región del bucket.

payload_signing_enabled

Especifica si firma con SHA256 cargas de sigv4. De forma predeterminada, esta opción está deshabilitada para cargas de streaming (UploadPart y PutObject) cuando se utiliza https. De forma predeterminada, la opción está configurada en false para cargas de streaming (UploadPart y PutObject), pero solo si está presente un ContentMD5 (se genera de forma predeterminada) y el punto de enlace utiliza HTTPS.

Si se establece en verdadero, las solicitudes de S3 reciben validación de contenido adicional en forma de suma de comprobación SHA256 que se calcula automáticamente y se incluye en la firma de la solicitud. Si se establece en falso, la suma de comprobación no se calcula. Deshabilitar esta opción puede ser útil para reducir la sobrecarga de rendimiento creada por el cálculo de la suma de comprobación.

use_accelerate_endpoint

Utilice el punto de enlace de aceleración de Amazon S3 para todos los comandos s3 y s3api. El valor predeterminado es false. Es mutuamente excluyente con la configuración use_dualstack_endpoint.

Si se establece en true (verdadero), la AWS CLI dirige todas las solicitudes de Amazon S3 al punto de enlace de S3 Accelerate en s3-accelerate.amazonaws.com. Para utilizar este punto de enlace, debe habilitar el bucket para que use S3 Accelerate. Todas las solicitudes se envían mediante el direccionamiento al bucket de estilo virtual: my-bucket.s3-accelerate.amazonaws.com. Las solicitudes ListBuckets, CreateBucket y DeleteBucket no se envían al punto de enlace de S3 Accelerate, ya que este punto de enlace no admite estas operaciones. Este comportamiento también se puede establecer si el parámetro --endpoint-url está establecido en https://s3-accelerate.amazonaws.com o http://s3-accelerate.amazonaws.com para cualquier comando s3api o s3.

Estos ajustes de configuración solo se aplican a los comandos del conjunto de comandos del espacio de nombres de s3:

max_bandwidth

Especifica el ancho de banda máximo que puede ser consumido para cargar y descargar datos desde y hacia Amazon S3. El valor predeterminado es sin límite.

Esto limita el ancho de banda máximo que los comandos de S3 pueden utilizar para transferir datos desde y hacia Amazon S3. Este valor se aplica únicamente a cargas y descargas; no se aplica a copias o eliminaciones. El valor se expresa como bytes por segundo. El valor puede especificarse como:

  • Un número entero. Por ejemplo, 1048576 establece el uso de ancho de banda máximo en 1 megabyte por segundo.

  • Un número entero seguido de un sufijo de velocidad. Puede especificar sufijos de velocidad mediante: KB/s, MB/s o GB/s. Por ejemplo, 300KB/s, 10MB/s.

En general, se recomienda intenta reducir primero el consumo de ancho de banda, disminuyendo las max_concurrent_requests. Si así no se reduce el consumo de ancho de banda lo suficiente para conseguir la velocidad deseada, puede utilizar la opción max_bandwidth para limitar más el consumo de ancho de banda. Esto se debe a que max_concurrent_requests controla la cantidad de subprocesos se están ejecutando en este momento. Si en su lugar reduce primero max_bandwidth pero deja max_concurrent_requests en un valor alto, puede provocar que los subprocesos tengan que esperar innecesariamente. Esto puede provocar un consumo excesivo de recursos y que se agoten los tiempos de espera de conexión.

max_concurrent_requests

Especifica el número máximo de solicitudes concurrentes. El valor predeterminado es 10.

Los comandos de transferencia de aws s3 tienen varios subprocesos. En un momento dado, es posible que se estén ejecutando varias solicitudes de Amazon S3. Por ejemplo, cuando utiliza el comando aws s3 cp localdir s3://bucket/ --recursive para cargar archivos en un bucket de S3, la AWS CLI puede cargar los archivos localdir/file1, localdir/file2 y localdir/file3 en paralelo. La configuración max_concurrent_requests especifica el número máximo de operaciones de transferencia que se pueden ejecutar al mismo tiempo.

Es posible que tenga que cambiar este valor por varios motivos:

  • Reducir el valor: en algunos entornos, el valor predeterminado de 10 solicitudes simultáneas puede ser demasiado para un sistema. Esto puede provocar tiempos de espera de conexión o ralentizar la capacidad de respuesta del sistema. Al reducir este valor, los comandos de transferencia de S3 consumen menos recursos. La desventaja es que las transferencias de S3 puede tardar más en completarse. Puede ser necesario reducir este valor si utiliza una herramienta para limitar el ancho de banda.

  • Aumentar el valor: en algunos casos, puede ser conveniente que las transferencias de Amazon S3 se completen lo más rápido posible, con el mayor ancho de banda de red según sea necesario. En este caso, el número predeterminado de solicitudes simultáneas podría no ser suficiente para utilizar todo el ancho de banda de red disponible. Al aumentar este valor puede mejorar el tiempo que se tarda en completar una transferencia de Amazon S3.

max_queue_size

Especifica el número máximo de tareas en la cola. El valor predeterminado es 1000.

La AWS CLI utiliza internamente un modelo que pone en cola las tareas de Amazon S3 que luego ejecutan los consumidores, cuyo número está limitado por max_concurrent_requests. Una tarea, por lo general, se asigna a una sola operación de Amazon S3. Por ejemplo, una tarea puede ser PutObjectTask, GetObjectTask o UploadPartTask. La velocidad a la que se añaden tareas a la cola puede ser mucho más rápida que la velocidad en la que los consumidores finalizan las tareas. Para evitar el crecimiento ilimitado, el tamaño de la cola de tareas se limita a un tamaño específico. Esta configuración cambia el valor de ese número máximo.

Por lo general, no tendrá que cambiar este ajuste. Esta configuración también se corresponde con el número de tareas que la AWS CLI sabe que tienen que ejecutarse. Esto significa que, de forma predeterminada, la AWS CLI solo puede ver 1000 tareas. Aumentar este valor significa que la AWS CLI puede saber con mayor rapidez el número total de tareas necesario, suponiendo que la velocidad de la cola sea más rápida que la velocidad de finalización de la tarea. La desventaja es que un valor mayor en max_queue_size, exige también más memoria.

multipart_chunksize

Especifica el tamaño del fragmento que la AWS CLI utiliza en las transferencias multiparte de archivos individuales. El valor predeterminado es 8 MB, con un mínimo de 5 MB.

Cuando la transferencia de un archivo supera el multipart_threshold, la AWS CLI divide el archivo en fragmentos de este tamaño. Este valor puede especificarse utilizando la misma sintaxis que en multipart_threshold, ya sea especificando el número de bytes como un número entero o especificando un tamaño y un sufijo.

multipart_threshold

Especifica el umbral de tamaño que la AWS CLI utiliza en las transferencias multiparte de archivos individuales. El valor predeterminado es 8 MB.

Al cargar, descargar o copiar un archivo, los comandos de Amazon S3 cambian a operaciones multiparte si el archivo supera este tamaño. Puede especificar este valor de una de las dos formas siguientes:

  • El tamaño del archivo en bytes. Por ejemplo, 1048576.

  • El tamaño del archivo con un sufijo de tamaño. Puede utilizar KB, MB, GB o TB. Por ejemplo: 10MB, 1GB.

    nota

    S3 puede imponer restricciones en los valores válidos que se pueden utilizar para las operaciones multiparte. Para obtener más información, consulte la documentación Carga multiparte de S3 en la Guía de del usuario de Amazon Simple Storage Service.