Variáveis de ambiente para configurar a AWS CLI - AWS Command Line Interface

Variáveis de ambiente para configurar 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 ou configuração temporária de um perfil nomeado como o padrão.

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 Definições de configuração e precedência.

Como definir variáveis de ambiente

Os exemplos a seguir mostram como configurar variáveis de ambiente para o usuário padrão.

Linux or macOS
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_DEFAULT_REGION=us-west-2

Configurar a variável de ambiente altera o valor usado até o final da sua sessão de shell ou até que você defina a variável como um valor diferente. Você pode tornar as variáveis persistentes em sessões futuras definindo-as no script de inicialização do shell.

Windows Command Prompt

Como definir para todas as sessões

C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_DEFAULT_REGION us-west-2

O uso de setx para definir uma variável de ambiente altera o valor usado na sessão de prompt de comando atual e todas as sessões de prompt de comando que você criar após a execução do comando. Não afeta outros shells de comando que já estejam em execução no momento em que você executar o comando.

Como definir somente para a sessão atual

O uso de set para definir uma variável de ambiente altera o valor usado até o final da sessão de prompt de comando atual ou até que você defina a variável como um valor diferente.

C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> set AWS_DEFAULT_REGION=us-west-2
PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

Se você definir uma variável de ambiente no prompt do PowerShell conforme mostrado nos exemplos anteriores, ela salvará o valor somente pela duração da sessão atual. Para fazer com que a configuração da variável de ambiente seja persistente em todas as sessões do prompt de comando e do PowerShell, armazene-a usando o aplicativo System (Sistema) no Control Panel (Painel de controle). Como alternativa, você pode definir a variável para todas as futuras sessões do PowerShell adicionando-a ao seu perfil do PowerShell. Consulte a documentação do PowerShell para obter mais informações sobre como armazenar variáveis de ambiente ou como persisti-las nas sessões.

AWS CLIVariáveis de ambiente compatíveis da

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 um usuário ou função do IAM.

Se definida, essa variável de ambiente substituirá 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 substituirá 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 da aws. Isso inclui pressionar ENTER após um comando completo ou um comando incompleto.

    aws_cli_auto_prompt=on
  • 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 é particularmente ú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.

    aws_cli_auto_prompt=on-partial

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 Como fazer a AWS CLI solicitar comandos.

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ão CP1252, a configuração de aws_cli_file_encoding=UTF-8 definirá a CLI para abrir arquivos de texto usando UTF-8.

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 ou 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 caractere os.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 substituirá 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

Especifica a região da AWS para a qual enviar a solicitação.

Se definida, essa variável de ambiente substituirá 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 SDK AWS_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_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 Novas tentativas da AWS CLI.

Se definida, essa variável de ambiente substituirá 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 substituirá 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 ou config ou o valor default 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 perfil region. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando --region.

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 Novas tentativas da AWS CLI.

Se definida, essa variável de ambiente substituirá 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 e AWS_ROLE_SESSION_NAME.

Se definida, essa variável de ambiente substituirá 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ção AssumeRole e se torna parte do ARN do usuário da função assumida: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. 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.

Se definida, essa variável de ambiente substituirá o valor da configuração de perfil role_session_name.

Usado com as variáveis de ambiente AWS_ROLE_ARN e AWS_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_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 substituirá 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 substituirá 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 ou usando um parâmetro de linha de comando.

AWS_STS_REGIONAL_ENDPOINTS

Especifica como a AWS CLI determina o endpoint do serviço da AWS que o cliente da AWS CLI usa para se comunicar com o AWS Security Token Service (AWS STS).

  • O valor padrão para a AWS CLI versão 1 é legacy.

  • O valor padrão para a AWS CLI versão 2 é regional.

É possível especificar um dos dois valores:

  • legacy: usa o endpoint global do STS, sts.amazonaws.com, para as seguintes regiões da 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 e us-west-2. Todas as demais regiões automaticamente usam o respectivo endpoint regional.

  • regional: a AWS CLI sempre usa o endpoint do AWS STS para a região configurada no momento. Por exemplo, se o cliente estiver configurado para usar us-west-2, todas as chamadas ao AWS STS serão feitas para o endpoint regional sts.us-west-2.amazonaws.com em vez do endpoint global sts.amazonaws.com. Para enviar uma solicitação para o endpoint global enquanto a configuração é habilitada, você pode definir a região como aws-global.

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ção AssumeRoleWithWebIdentity.

Usado com as variáveis de ambiente AWS_ROLE_ARN e AWS_ROLE_SESSION_NAME.

Se definida, essa variável de ambiente substituirá 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.