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

Esta documentação é para a AWS CLI única versão 1. Para obter a documentação relacionada à versão 2 do AWS CLI, consulte o Guia do usuário da versão 2.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Variáveis de ambiente para configurar o 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 AWS CLI comando, ela substituirá 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 AWS CLI determinar quais credenciais usar, consulte. Configurar o 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.

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. Talvez seja necessário reiniciar o terminal para que as configurações sejam carregadas.

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 PowerShell prompt, conforme mostrado nos exemplos anteriores, ela salvará o valor somente durante a sessão atual. Para tornar a configuração da variável de ambiente persistente em todas as sessões PowerShell e nas sessões do Prompt de Comando, armazene-a usando o aplicativo Sistema no Painel de Controle. Como alternativa, você pode definir a variável para todas as PowerShell sessões futuras adicionando-a ao seu PowerShell perfil. Consulte a PowerShell documentação para obter mais informações sobre como armazenar variáveis de ambiente ou persisti-las nas sessões.

AWS CLI variáveis de ambiente suportadas

O AWS CLI suporta as seguintes variáveis de ambiente.

AWS_ACCESS_KEY_ID

Especifica uma chave de AWS acesso 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_S3_MV_VALIDATE_SAME_S3_PATHS

Se os buckets de origem e destino forem os mesmos ao usar o s3 mv comando personalizado, 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 AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS ambiente e a --validate-same-s3-paths opção 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 a localização do arquivo que ele 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 integrado ~/.aws/models ao carregar AWS CLI dados. 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 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

Default region nameIdentifica a AWS região para cujos servidores 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 digitar us-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 AWS região ao usar o 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 pelo AWS CLI são os mesmos nomes que você vê em AWS Management Console URLs e endpoints de serviço.

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 --region comando .

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.

As configurações do endpoint estão localizadas em vários locais, como as variáveis de ambiente do sistema ou do usuário, arquivos de AWS configuração locais ou declaradas explicitamente na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

  1. A opção da linha de comando --endpoint-url.

  2. Se habilitada, a variável de ambiente global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou a configuração do perfil ignore_configure_endpoint_urls para ignorar os endpoints personalizados.

  3. O valor fornecido por uma variável de ambiente específica do serviço AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Os valores fornecidos pelas variáveis de ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. O valor do endpoint específico de serviço fornecido pela configuração endpoint_url em uma seção services do arquivo compartilhado config.

  6. O valor fornecido pela configuração endpoint_url em um profile do arquivo compartilhado config.

  7. Configurações use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  8. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte Regiões e endpoints da AWS no Referência geral da Amazon Web Services.

AWS_ENDPOINT_URL_<SERVICE>

Especifica um endpoint personalizado que é usado para um serviço específico, onde <SERVICE> é substituído pelo AWS service (Serviço da AWS) identificador. Por exemplo, Amazon DynamoDB tem um serviceId de DynamoDB. 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.

As configurações do endpoint estão localizadas em vários locais, como as variáveis de ambiente do sistema ou do usuário, arquivos de AWS configuração locais ou declaradas explicitamente na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

  1. A opção da linha de comando --endpoint-url.

  2. Se habilitada, a variável de ambiente global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou a configuração do perfil ignore_configure_endpoint_urls para ignorar os endpoints personalizados.

  3. O valor fornecido por uma variável de ambiente específica do serviço AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Os valores fornecidos pelas variáveis de ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. O valor do endpoint específico de serviço fornecido pela configuração endpoint_url em uma seção services do arquivo compartilhado config.

  6. O valor fornecido pela configuração endpoint_url em um profile do arquivo compartilhado config.

  7. Configurações use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  8. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte Regiões e endpoints da AWS no Referência geral da Amazon Web Services.

AWS_IGNORE_CONFIGURED_ENDPOINT_URLS

Se ativado, o AWS CLI ignora todas as configurações personalizadas de endpoint. Os valores válidos são true e false.

As configurações do endpoint estão localizadas em vários locais, como as variáveis de ambiente do sistema ou do usuário, arquivos de AWS configuração locais ou declaradas explicitamente na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

  1. A opção da linha de comando --endpoint-url.

  2. Se habilitada, a variável de ambiente global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou a configuração do perfil ignore_configure_endpoint_urls para ignorar os endpoints personalizados.

  3. O valor fornecido por uma variável de ambiente específica do serviço AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Os valores fornecidos pelas variáveis de ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. O valor do endpoint específico de serviço fornecido pela configuração endpoint_url em uma seção services do arquivo compartilhado config.

  6. O valor fornecido pela configuração endpoint_url em um profile do arquivo compartilhado config.

  7. Configurações use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  8. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte Regiões e endpoints da AWS no Referência geral da Amazon Web Services.

AWS_MAX_ATTEMPTS

Especifica um valor máximo de tentativas que o manipulador de AWS CLI repetição usa, em que a chamada inicial conta para o valor que você fornece. Para obter mais informações sobre novas tentativas, consulte Novas tentativas da 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 tenha sido configurada com uma função do IAM, ele AWS CLI tenta recuperar as credenciais uma vez do serviço de metadados da instância antes de parar. 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_PROFILE

Especifica o nome do AWS CLI perfil 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_RETRY_MODE

Especifica qual modo de repetição usa. AWS CLI 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 sobrescreverá o valor da configuração de perfil retry_mode.

AWS_ROLE_ARN

Especifica o Amazon Resource Name (ARN) de uma função do IAM com um provedor de identidade da web que você deseja usar para executar AWS CLI os comandos.

Usado com as variáveis de ambiente AWS_WEB_IDENTITY_TOKEN_FILE e AWS_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 RoleSessionName parâmetro quando ele AWS CLI chama a AssumeRole operação e se torna parte da função assumida de usuário ARN:. 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 AWS CloudTrail registros das entradas associadas a essa sessão.

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 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 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 a localização do arquivo que ele AWS CLI usa para armazenar as 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_STS_REGIONAL_ENDPOINTS

Especifica como AWS CLI determina o endpoint do AWS serviço que o AWS CLI cliente usa para se comunicar com o AWS Security Token Service ()AWS STS. O valor padrão para a AWS CLI versão 1 é legacy.

É possível especificar um dos dois valores:

  • legacy— Usa o endpoint STS globalsts.amazonaws.com,, para as seguintes AWS regiões: ap-northeast-1 ap-south-1ap-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 usam automaticamente o respectivo endpoint regional.

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

AWS_USE_DUALSTACK_ENDPOINT

Permite o uso de endpoints de pilha dupla para enviar solicitações. AWS Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte Como 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 se a solicitação falhar. Ela fica desabilitada por padrão.

As configurações do endpoint estão localizadas em vários locais, como as variáveis de ambiente do sistema ou do usuário, arquivos de AWS configuração locais ou declaradas explicitamente na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

  1. A opção da linha de comando --endpoint-url.

  2. Se habilitada, a variável de ambiente global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou a configuração do perfil ignore_configure_endpoint_urls para ignorar os endpoints personalizados.

  3. O valor fornecido por uma variável de ambiente específica do serviço AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Os valores fornecidos pelas variáveis de ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. O valor do endpoint específico de serviço fornecido pela configuração endpoint_url em uma seção services do arquivo compartilhado config.

  6. O valor fornecido pela configuração endpoint_url em um profile do arquivo compartilhado config.

  7. Configurações use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  8. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte Regiões e endpoints da AWS no Referência geral da Amazon Web Services.

AWS_USE_FIPS_ENDPOINT

Alguns AWS serviços oferecem endpoints compatíveis com o Federal Information Processing Standard (FIPS) 140-2 em alguns. 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. Diferentemente dos AWS endpoints padrão, os endpoints 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.

Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em seu Região da AWS, o AWS comando 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.

Para obter mais informações sobre como especificar endpoints FIPS por Região da AWS, consulte FIPS Endpoints por serviço.

As configurações do endpoint estão localizadas em vários locais, como as variáveis de ambiente do sistema ou do usuário, arquivos de AWS configuração locais ou declaradas explicitamente na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

  1. A opção da linha de comando --endpoint-url.

  2. Se habilitada, a variável de ambiente global AWS_IGNORE_CONFIGURED_ENDPOINT_URLS ou a configuração do perfil ignore_configure_endpoint_urls para ignorar os endpoints personalizados.

  3. O valor fornecido por uma variável de ambiente específica do serviço AWS_ENDPOINT_URL_<SERVICE>, como AWS_ENDPOINT_URL_DYNAMODB.

  4. Os valores fornecidos pelas variáveis de ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. O valor do endpoint específico de serviço fornecido pela configuração endpoint_url em uma seção services do arquivo compartilhado config.

  6. O valor fornecido pela configuração endpoint_url em um profile do arquivo compartilhado config.

  7. Configurações use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  8. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usada por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte Regiões e endpoints da AWS no Referência geral da Amazon Web Services.

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