Configurar variáveis de ambiente para a AWS CLI
Variáveis de ambiente fornecem outra maneira de especificar opções de configuração e credenciais e podem ser úteis para criação de scripts.
Precedência de opções
-
Se você especificar uma opção usando uma das variáveis de ambiente descritas nesse tópico, ela substituirá qualquer valor carregado de um perfil no arquivo de configuração.
-
Se você especificar uma opção usando um parâmetro na linha de comando da AWS CLI, ela sobrescreverá qualquer valor da variável de ambiente correspondente ou de um perfil no arquivo de configuração.
Para obter mais informações sobre precedência e como a AWS CLI determina quais credenciais usar, consulte Como definir as configurações da AWS CLI.
Como definir variáveis de ambiente
Os exemplos a seguir mostram como configurar variáveis de ambiente para o usuário padrão.
Variáveis de ambiente compatíveis da AWS CLI
A AWS CLI é compatível com as seguintes variáveis de ambiente.
AWS_ACCESS_KEY_ID
-
Especifica uma chave de acesso da AWS associada a uma conta do IAM.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
aws_access_key_id
. Você não pode especificar o ID de chave de acesso com uma opção de linha de comando. AWS_CA_BUNDLE
-
Especifica o caminho para um pacote de certificado a ser usado para a validação de certificado HTTPS.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
ca_bundle
. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando--ca-bundle
. AWS_CLI_AUTO_PROMPT
-
Habilita o prompt automático para a AWS CLI versão 2. Há duas configurações que podem ser usadas:
-
on
usa o modo de prompt automático completo cada vez que você tenta executa um comando daaws
. Isso inclui pressionar ENTER após um comando completo ou um comando incompleto. -
on-partial
usa o modo de prompt automático parcial. Se um comando estiver incompleto ou não puder ser executado devido a erros de validação do lado do cliente, o prompt automático será usado. Esse modo é útil se você tem scripts pré-existentes, runbooks ou se deseja receber o prompt automático somente para comandos com os quais você não está familiarizado, em vez de ver o prompt para todos os comandos.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
cli_auto_prompt
. Você pode sobrescrever essa variável de ambiente usando os parâmetros de linha de comando--cli-auto-prompt
e--no-cli-auto-prompt
.Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte Habilitar e usar os prompts de comando na AWS CLI.
-
AWS_CLI_FILE_ENCODING
-
Especifica a codificação usada para arquivos de texto. Por padrão, a codificação corresponde à sua localidade. Para definir uma codificação diferente da localidade, use a variável de ambiente
aws_cli_file_encoding
. Por exemplo, se você usar o Windows com a codificação padrãoCP1252
, a configuração deaws_cli_file_encoding=UTF-8
definirá a CLI para abrir arquivos de texto usandoUTF-8
. AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS
-
Se os buckets de origem e destino forem os mesmos ao usar o comando
s3 mv
, o arquivo ou objeto de origem poderá ser movido para si mesmo, o que pode resultar na exclusão acidental do arquivo ou objeto de origem. A variável de ambienteAWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS
e a opção--validate-same-s3-paths
especificam se seus ARNs de ponto de acesso ou aliases de pontos de acesso devem ser validados em seus URIs de origem ou destino do Amazon S3.nota
A validação do caminho para
s3 mv
exige chamadas de API adicionais. AWS_CONFIG_FILE
-
Especifica o local do arquivo que a AWS CLI usa para armazenar perfis de configuração. O caminho padrão é
~/.aws/config
.Você não pode especificar esse valor em uma configuração de perfil nomeado nem usando um parâmetro de linha de comando.
AWS_DATA_PATH
-
Uma lista de diretórios adicionais a serem verificados fora do caminho de pesquisa interno do
~/.aws/models
ao carregar dados da AWS CLI. A definição dessa variável de ambiente indica os diretórios adicionais a serem verificados primeiro antes de voltar para os caminhos de pesquisa internos. Várias entradas devem ser separadas com o caractereos.pathsep
, que é:
no Linux ou no macOS e;
no Windows. AWS_DEFAULT_OUTPUT
-
Especifica o formato de saída a ser usado.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
output
. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando--output
. AWS_DEFAULT_REGION
-
O
Default region name
identifica a região da AWS dos servidores para os quais você deseja enviar suas solicitações por padrão. Normalmente, é a região mais próxima de você, mas pode ser qualquer região. Por exemplo, você pode digitarus-west-2
para usar a região Oeste dos EUA (Oregon). Essa é a região para a qual todas as solicitações posteriores são enviadas, a menos que você especifique o contrário em um comando individual.nota
Você deve especificar uma região da AWS ao usar a AWS CLI, explicitamente ou definindo uma região padrão. Para obter uma lista das regiões disponíveis, consulte Regiões e endpoints Os designadores de região usados pela AWS CLI têm os mesmos nomes que você vê nos URLs nos endpoints de serviço do AWS Management Console.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
region
. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando--region
e a variável de ambiente compatível com o AWS SDKAWS_REGION
. AWS_EC2_METADATA_DISABLED
-
Desabilita o uso do serviço de metadados da instância do Amazon EC2 (IMDS).
Se definido como true, as credenciais do usuário ou a configuração (como a região) não são solicitadas do IMDS.
AWS_ENDPOINT_URL
-
Especifica o endpoint usado para todas as solicitações de serviço. Para ter mais informações, consulte Definir um endpoint global para todos os Serviços da AWS.
Precedência de endpoints
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em Precedência de configurações e definições do endpoint.
AWS_ENDPOINT_URL_<SERVICE>
-
Especifica um endpoint personalizado usado para um serviço específico, onde
<SERVICE>
é substituído pelo identificador AWS service (Serviço da AWS). Por exemplo, Amazon DynamoDB tem umserviceId
doDynamoDB
. Para esse serviço, a variável de ambiente do URL do endpoint é AWS_ENDPOINT_URL_DYNAMODB
.Para obter uma lista de todas as variáveis de ambiente específicas do serviço, consulte Lista de identificadores específicos de serviço.
Precedência de endpoints
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em Precedência de configurações e definições do endpoint.
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS
-
Se habilitada, a AWS CLI ignora todas as configurações personalizadas de endpoint. Os valores válidos são
true
efalse
. Para ter mais informações, consulte Definir um endpoint global para todos os Serviços da AWS.As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. Consulte a precedência de endpoints em Precedência de configurações e definições do endpoint.
Precedência de endpoints
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em Precedência de configurações e definições do endpoint.
- AWS_MAX_ATTEMPTS
-
Especifica um valor para o máximo de novas tentativas utilizadas pelo manipulador de novas tentativas da AWS CLI, onde a chamada inicial conta para o valor fornecido por você. Para obter mais informações sobre novas tentativas, consulte A AWS CLI tenta novamente na AWS CLI.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
max_attempts
. AWS_METADATA_SERVICE_NUM_ATTEMPTS
-
Ao tentar recuperar credenciais em uma instância do Amazon EC2 que foi configurada com uma função do IAM, a AWS CLI fará apenas uma tentativa para recuperar as credenciais do serviço de metadados da instância antes de interromper. Se souber que seus comandos serão executados em uma instância do Amazon EC2, você poderá aumentar esse valor para possibilitar que a AWS CLI faça várias tentativas antes de desistir.
AWS_METADATA_SERVICE_TIMEOUT
-
O número de segundos antes de uma conexão ao serviço de metadados da instância atingir o tempo limite. Ao tentar recuperar credenciais em uma instância do Amazon EC2 que foi configurada com uma função do IAM, por padrão uma conexão ao serviço de metadados da instância atingirá o tempo limite depois de um segundo. Se souber que está executando em uma instância do Amazon EC2 com uma função do IAM configurada, você poderá aumentar esse valor, se necessário.
- AWS_PAGER
-
Especifica o programa de paginação usado para saída. Por padrão, a AWS CLI versão 2 retorna toda a saída pelo programa de paginação padrão do sistema operacional.
Para desabilitar todos os usos de um programa de paginação externo, defina a variável como uma string vazia.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
cli_pager
. - AWS_PROFILE
-
Especifica o nome do perfil da AWS CLI com as credenciais e as opções a serem usadas. Esse pode ser o nome de um perfil armazenado em um arquivo
credentials
ouconfig
ou o valordefault
para usar o perfil padrão.Se você especificar essa variável de ambiente, ela substituirá o comportamento de usar o perfil nomeado
[default]
no arquivo de configuração. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando--profile
. AWS_REGION
-
A variável de ambiente compatível com o AWS SDK que especifica a região da AWS para a qual enviar a solicitação.
Se definida, essa variável de ambiente substituirá os valores da variável de ambiente
AWS_DEFAULT_REGION
e a configuração do perfilregion
. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando--region
. AWS_REQUEST_CHECKSUM_CALCULATION
-
Especifica quando uma soma de verificação é calculada para cargas úteis de solicitação e tem as seguintes opções:
-
when_supported
: (padrão) a soma de verificação da carga útil da solicitação é calculada quando uma operação especifica um algoritmo de soma de verificação em seu modelo de serviço ou solicita somas de verificação da solicitação. -
when_required
: a soma de verificação da carga útil da solicitação é calculada quando uma operação exige somas de verificação de solicitação ou quando um usuário fornece umrequestAlgorithmMember
que é modelado pelo AWS service (Serviço da AWS).
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil request_checksum_calculation.
-
AWS_RESPONSE_CHECKSUM_VALIDATION
-
Especifica quando a validação da soma de verificação é realizada para cargas úteis de resposta e tem as seguintes opções:
-
when_supported
: (padrão) a validação da soma de verificação da carga útil da resposta é executada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço que seja compatível com a AWS CLI. -
when_required
: a validação da soma de verificação da carga útil da resposta é realizada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço compatível com a AWS CLI, e você define orequestValidationModeMember
modelado comoENABLED
na entrada da operação.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil response_checksum_validation.
-
- AWS_RETRY_MODE
-
Especifica qual modo de repetição a AWS CLI utiliza. Existem três modos de repetição disponíveis: herdado (o modo usado por padrão), padrão e adaptive. Para obter mais informações sobre novas tentativas, consulte A AWS CLI tenta novamente na AWS CLI.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
retry_mode
. AWS_ROLE_ARN
-
Especifica o nome do recurso da Amazon (ARN) de uma função do IAM com um provedor de identidade da Web que você deseja usar para executar os comandos da AWS CLI.
Usado com as variáveis de ambiente
AWS_WEB_IDENTITY_TOKEN_FILE
eAWS_ROLE_SESSION_NAME
.Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil role_arn. Você não pode especificar um nome de sessão de função como um parâmetro de linha de comando.
nota
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.
Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.
AWS_ROLE_SESSION_NAME
-
Especifica o nome a ser associado à sessão da função. Esse valor é fornecido ao parâmetro
RoleSessionName
quando a AWS CLI chama a operaçãoAssumeRole
e se torna parte do ARN do usuário da função assumida:arn:aws:sts::
. Esse parâmetro é opcional. Se você não fornecer esse valor, um nome de sessão será gerado automaticamente. Esse nome aparece nos logs do AWS CloudTrail para entradas associadas a essa sessão.123456789012
:assumed-role/role_name
/role_session_name
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil role_session_name.
Usado com as variáveis de ambiente
AWS_ROLE_ARN
eAWS_WEB_IDENTITY_TOKEN_FILE
.Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.
nota
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.
AWS_SDK_UA_APP_ID
-
Uma única Conta da AWS pode ser usada por várias aplicações de clientes para fazer chamadas para Serviços da AWS. O ID da aplicação identifica qual aplicação de origem fez um conjunto de chamadas usando um AWS service (Serviço da AWS). AWS Os SDKs e os serviços não usam nem interpretam esse valor a não ser para trazê-lo de volta às comunicações com os clientes. Por exemplo, esse valor pode ser incluído em e-mails operacionais para identificar com exclusividade quais das suas aplicações estão associadas à notificação.
Por padrão, não há valor.
O ID da aplicação é uma string com comprimento máximo de 50 caracteres. Os caracteres permitidos incluem letras, números e os seguintes caracteres especiais:
! $ % & * + - . , ^ _ ` | ~
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil sdk_ua_app_id. Você não pode especificar o ID da aplicação como uma opção de linha de comando.
AWS_SECRET_ACCESS_KEY
-
Especifica a chave secreta associada à chave de acesso. Essencialmente, essa é a “senha” para a chave de acesso.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
aws_secret_access_key
. Você não pode especificar o ID chave de acesso secreta como uma opção de linha de comando. AWS_SESSION_TOKEN
-
Especifica o valor de token de sessão que é necessário se você estiver usando credenciais de segurança temporárias recuperadas diretamente das operações do AWS STS. Para obter mais informações, consulte a Seção de saída do comando assume-role na Referência de comandos da AWS CLI.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
aws_session_token
. AWS_SHARED_CREDENTIALS_FILE
-
Especifica o local do arquivo que a AWS CLI usa para armazenar chaves de acesso. O caminho padrão é
~/.aws/credentials
.Você não pode especificar esse valor em uma configuração de perfil nomeado nem usando um parâmetro de linha de comando.
AWS_SIGV4A_SIGNING_REGION_SET
-
Especifica as regiões a serem usadas ao assinar com SigV4a usando uma lista delimitada por vírgulas. Se essa variável não for definida, a AWS CLI usará o padrão utilizado pelo AWS service (Serviço da AWS). Se o AWS service (Serviço da AWS) não tiver um padrão, a assinatura da solicitação se tornará válida em todas as regiões usando um valor de
*
.Consulte mais informações sobre o SigV4a em AWSSignature Version 4 para solicitações de API no Guia do usuário do IAM
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil sigv4a_signing_region_set.
AWS_USE_DUALSTACK_ENDPOINT
-
Permite o uso de endpoints de pilha dupla para enviar solicitações da AWS. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte Usar endpoints de pilha dupla do Amazon S3 no Guia do usuário do Amazon Simple Storage Service. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. Ela fica desabilitada por padrão. Para ter mais informações, consulte Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS.
Precedência de endpoints
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em Precedência de configurações e definições do endpoint.
AWS_USE_FIPS_ENDPOINT
-
Alguns serviços da AWS oferecem endpoints compatíveis com o Federal Information Processing Standard (FIPS) 140-2
em algumas Regiões da AWS. Quando o serviço da AWS é compatível com o FIPS, essa configuração especifica qual endpoint do FIPS a AWS CLI deve usar. Ao contrário dos endpoints-padrão da AWS, os endpoints do FIPS usam uma biblioteca de software TLS compatível com o FIPS 140-2. Esses endpoints podem ser necessários por empresas que interagem com o governo dos Estados Unidos. Consulte mais informações em Definido para usar endpoints FIPs para todos os Serviços da AWS. Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em sua Região da AWS, o comando AWS poderá falhar. Nesse caso, especifique manualmente o endpoint a ser usado no comando usando a opção
--endpoint-url
ou use endpoints específicos do serviço.Precedência de endpoints
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em Precedência de configurações e definições do endpoint.
- AWS_WEB_IDENTITY_TOKEN_FILE
-
Especifica o caminho para um arquivo que contém um token de acesso OAuth 2.0 ou token de ID OpenID Connect fornecido por um provedor de identidade. A AWS CLI carrega o conteúdo desse arquivo e o transmite como o argumento
WebIdentityToken
para a operaçãoAssumeRoleWithWebIdentity
.Usado com as variáveis de ambiente
AWS_ROLE_ARN
eAWS_ROLE_SESSION_NAME
.Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil
web_identity_token_file
.Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.
nota
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.