Configurações do arquivo de configuração e credenciais - 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á.

Configurações do arquivo de configuração e credenciais

Você pode salvar as definições de configuração usadas com frequência e credenciais em arquivos que são mantidos pela AWS CLI.

Os arquivos são divididos em profiles. Por padrão, o AWS CLI usa as configurações encontradas no perfil chamadodefault. Para usar outras configurações, você pode criar e fazer referência a perfis adicionais.

Você pode substituir uma configuração definindo uma das variáveis de ambiente com suporte ou usando um parâmetro de linha de comando. Para obter mais informações sobre a precedência de configuração, consulte Configurar o AWS CLI.

nota

Para obter informações sobre como configurar suas credenciais, consulte Autenticação e credenciais de acesso.

Formato dos arquivos de credenciais e configuração

Os arquivos config e credentials são organizados em seções. As seções incluem perfis e serviços. Uma seção é um conjunto nomeado de configurações e continua até que outra linha de definição de seção seja encontrada. Vários perfis e seções podem ser armazenados nos arquivos config e credentials.

Esses arquivos são arquivos de texto simples que usam o seguinte formato:

  • Os nomes das seções estão entre colchetes [ ], como [default], [profile user1] e [sso-session].

  • Todas as entradas em uma seção assumem a forma geral de setting_name=value.

  • As linhas podem ser comentadas iniciando-as com um caractere de hashtag (#).

Os arquivos config e credentials contêm os seguintes tipos de seção:

Tipo de seção: profile

As AWS CLI lojas

Dependendo do arquivo, os nomes de seção de perfil usam o seguinte formato:

  • Arquivo de configuração: [default] [profile user1]

  • Arquivo de credenciais: [default] [user1]

    Não use a palavra profile ao criar uma entrada no arquivo credentials.

Cada perfil especifica credenciais diferentes e também pode especificar regiões da AWS e formatos de saída diferentes. Ao nomear o perfil em um arquivo config, inclua a palavra de prefixo “profile”, mas não a inclua no arquivo credentials.

Os exemplos a seguir mostram um arquivo credentials e config com dois perfis, região e saída especificados. O primeiro [padrão] é usado quando você executa um comando da AWS CLI sem perfil especificado. O segundo é usado quando você executa um AWS CLI comando com o --profile user1 parâmetro.

Short-term credentials

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. Para ter mais informações, consulte Autenticar com credenciais de curto prazo.

Arquivo de credenciais

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

Arquivo de configuração

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

Este exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, default é o perfil de origem das credenciais, e user1 empresta as mesmas credenciais e assume um novo perfil. Para ter mais informações, consulte Uso de perfis do IAM na AWS CLI.

Arquivo de credenciais

O arquivo credentials depende da autenticação que o perfil de origem usa. No exemplo a seguir, o perfil de origem usa credenciais de curto prazo.

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

Arquivo de configuração

[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 exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Para ter mais informações, consulte Uso de credenciais para metadados de instância do Amazon EC2..

Arquivo de credenciais

O arquivo credentials não é usado para esse método de autenticação.

Arquivo de configuração

[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
Atenção

Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como AWS IAM Identity Center.

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para ter mais informações, consulte Autenticar com credenciais de usuário do IAM.

Arquivo de credenciais

[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

Arquivo de configuração

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

Para obter mais informações e métodos adicionais de autorização e credencial, consulte Autenticar com credenciais de usuário do IAM.

Tipo de seção: services

A services seção é um grupo de configurações que configura endpoints personalizados para AWS service (Serviço da AWS) solicitações. Depois, um perfil é vinculado a uma seção services.

[profile dev] services = my-services

A seção services é separada em subseções por linhas <SERVICE> = , onde <SERVICE> é a chave de identificação do AWS service (Serviço da AWS) . O AWS service (Serviço da AWS) identificador é baseado no modelo de API, substituindo todos os espaços serviceId por sublinhados e colocando todas as letras em minúsculas. Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção services, consulte Use endpoints no AWS CLI. A chave de identificação de serviço é seguida por configurações aninhadas, cada uma em sua própria linha e recuada por dois espaços.

O exemplo a seguir configura o endpoint a ser usado para solicitações feitas ao serviço Amazon DynamoDB na seção my-services que é usada no perfil dev. Todas as linhas imediatamente seguintes que estejam recuadas são incluídas nessa subseção e se aplicam a esse serviço.

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

Para obter mais informações sobre endpoints específicos de serviço, consulte Use endpoints no AWS CLI.

Se o seu perfil tiver credenciais baseadas em perfis configurados por meio de um parâmetro source_profile para a funcionalidade “assumir função” do IAM, o SDK usará somente configurações de serviço para o perfil especificado. Ele não usa perfis com funções vinculadas a ele. Por exemplo, usando o seguinte arquivo compartilhado config:

[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

Se você usar o perfil B e fizer uma chamada em seu código para o Amazon EC2, o endpoint será resolvido como https://profile-b-ec2-endpoint.aws. Se o seu código fizer uma solicitação para qualquer outro serviço, a resolução do endpoint não seguirá nenhuma lógica personalizada. O endpoint não é resolvido para o endpoint global definido no perfil A. Para que um endpoint global tenha efeito para o perfil B, você precisaria configurar endpoint_url diretamente no perfil B.

Onde as definições de configuração ficam armazenadas?

Ele AWS CLI armazena informações confidenciais de credenciais que você especifica aws configure em um arquivo local chamadocredentials, em uma pasta nomeada .aws em seu diretório inicial. As opções menos confidenciais de configuração especificadas com aws configure são armazenadas em um arquivo local chamado config, também armazenado na pasta .aws, no seu diretório inicial.

Armazenar credenciais no arquivo de configuração

Você pode manter todas as configurações do seu perfil em um único arquivo, pois eles AWS CLI podem ler as credenciais do config arquivo. Se houver credenciais nos dois arquivos para um perfil que compartilhe o mesmo nome, as chaves no arquivo de credenciais terão precedência. Sugerimos manter as credenciais nos arquivos credentials. Esses arquivos também são usados pelos vários kits de desenvolvimento de software de linguagem (SDKs). Se você usar um dos SDKs além do AWS CLI, confirme se as credenciais devem ser armazenadas em seu próprio arquivo.

O local do diretório inicial varia de acordo com o sistema operacional, mas é acessado usando as variáveis de ambiente %UserProfile% no Windows e $HOME ou ~ (til) em sistemas baseados em Unix. Você pode especificar um local não padrão para os arquivos configurando as variáveis de ambiente AWS_CONFIG_FILE e AWS_SHARED_CREDENTIALS_FILE para outro caminho local. Para mais detalhes, consulte Variáveis de ambiente para configurar o AWS CLI.

Quando você usa um perfil compartilhado que especifica uma função AWS Identity and Access Management (IAM), ele AWS CLI chama a AWS STS AssumeRole operação para recuperar credenciais temporárias. Essas credenciais são armazenadas (no ~/.aws/cli/cache). AWS CLI Os comandos subsequentes usam as credenciais temporárias em cache até que elas expirem e, nesse ponto, atualizam AWS CLI automaticamente as credenciais.

Usar perfis nomeados

Se nenhum perfil for definido explicitamente, será usado o perfil default.

Para usar um perfil designado, adicione a opção --profile profile-name para o comando. O exemplo a seguir lista todas as instâncias do Amazon EC2 que usam as credenciais e as configurações definidas no perfil user1.

$ aws ec2 describe-instances --profile user1

Para usar um perfil designado para vários comandos, evite especificar o perfil ao configurar o comando em cada variável de ambiente AWS_PROFILE como o perfil padrão. É possível substituir essa configuração usando o parâmetro --profile.

Linux or macOS
$ export AWS_PROFILE=user1
Windows
C:\> setx AWS_PROFILE user1

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.

Usar setx para definir uma variável de ambiente altera o valor em todos os shells de comando criados depois de executar o comando. Isso não afeta nenhum shell de comando que já esteja em execução no momento em que você executa o comando. Feche e reinicie o shell de comando para ver os efeitos da alteração.

Configurar a variável de ambiente altera o perfil padrão até o final do seu shell sessão ou até que você defina a variável a um valor diferente. Você pode tornar as variáveis de ambiente persistentes em sessões futuras colocando-as no script de inicialização do shell. Para ter mais informações, consulte Variáveis de ambiente para configurar o AWS CLI.

Definir e visualizar as configurações usando comandos

Existem várias formas de visualizar e definir as configurações usando comandos.

aws configure

Execute esse comando para definir e visualizar rapidamente as credenciais do , a região e o formato de saída. O exemplo a seguir mostra valores de exemplo.

$ 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

Você pode definir quaisquer credenciais ou configurações usando aws configure set. Especifique o perfil que você deseja visualizar ou modificar com a configuração --profile.

Por exemplo, o comando a seguir define a region no perfil chamado integ.

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

Para remover uma configuração, use uma string vazia como o valor ou exclua manualmente a configuração nos arquivos config e credentials em um editor de texto.

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

Você pode recuperar quaisquer credenciais ou configurações definidas usando aws configure get. Especifique o perfil que você deseja visualizar ou modificar com a configuração --profile.

Por exemplo, o comando a seguir recupera a configuração region no perfil chamado integ.

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

Se a saída estiver vazia, a configuração não estará explicitamente definida e usará o valor padrão.

aws configure list

Para listar os dados de configuração, use o comando aws configure list. Esse comando lista as informações de perfil, chave de acesso, chave secreta e configuração da região usadas para o perfil especificado. Para cada item de configuração, ele mostra o valor, onde o valor da configuração foi recuperado e o nome da variável de configuração.

Por exemplo, se você fornecer o Região da AWS em uma variável de ambiente, esse comando mostrará o nome da região que você configurou, que esse valor veio de uma variável de ambiente e o nome da variável de ambiente.

No caso de métodos de credenciais temporárias, como perfis e o Centro de Identidade do IAM, esse comando exibe a chave de acesso armazenada temporariamente em cache e a chave de acesso secreta é exibida.

$ 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

Definir novos exemplos de comandos de configuração e credenciais

Os exemplos a seguir mostram a configuração de um perfil padrão com credenciais, região e saída especificadas para diferentes métodos de autenticação.

Short-term credentials

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. O assistente de configuração aws é usado para definir os valores iniciais e, depois, o comando aws configure set atribui o último valor necessário. Para ter mais informações, consulte Autenticar com credenciais de curto prazo.

$ 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 exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, default é o perfil de origem das credenciais, e user1 empresta as mesmas credenciais e assume um novo perfil. Não há assistente para esse processo, portanto, cada valor é definido usando o comando aws configure set. Para ter mais informações, consulte Uso de perfis do IAM na 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 exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Não há assistente para esse processo, portanto, cada valor é definido usando o comando aws configure set. Para ter mais informações, consulte Uso de credenciais para metadados de instância do 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
Atenção

Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como AWS IAM Identity Center.

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para ter mais informações, consulte Autenticar com credenciais de usuário do 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

Configurações de arquivo config compatíveis

As configurações a seguir têm suporte no arquivo config. Os valores listados no perfil especificado (ou padrão) serão usados, a menos que eles sejam ignorados pela presença de uma variável de ambiente ou uma opção de linha de comando com o mesmo nome. Para obter informações sobre a ordem de precedência das configurações, consulte Configurar o AWS CLI

Configurações globais

api_versions

Alguns AWS serviços mantêm várias versões de API para oferecer suporte à compatibilidade com versões anteriores. Por padrão, AWS CLI os comandos usam a versão mais recente da API disponível. Você pode especificar uma versão de API a ser usada para um perfil incluindo a configuração api_versions no arquivo config.

Essa é uma configuração “aninhada” seguida por uma ou mais linhas recuadas, cada uma identificando um AWS serviço e a versão da API a ser usada. Consulte a documentação de cada serviço para saber quais versões de API estão disponíveis.

O exemplo a seguir mostra como especificar uma versão de API para dois serviços da AWS . Essas versões de API são usadas apenas para comandos que são executados sob o perfil que contém essas configurações.

api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017

Essa configuração não tem uma variável de ambiente nem parâmetro de linha de comando equivalente.

aws_access_key_id

Especifica a chave de AWS acesso usada como parte das credenciais para autenticar a solicitação de comando. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_ACCESS_KEY_ID. Você não pode especificar o ID de chave de acesso como uma opção de linha de comando.

aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key

Especifica a chave AWS secreta usada como parte das credenciais para autenticar a solicitação de comando. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_SECRET_ACCESS_KEY. Você não pode especificar a chave de acesso secreta como uma opção de linha de comando.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

Especifica um token de AWS sessão. Um token de sessão só será necessário se você especificar manualmente credenciais de segurança temporárias. Embora ela possa ser armazenada no arquivo config, recomendamos armazená-la no arquivo credentials.

Pode ser substituída pela variável de ambiente AWS_SESSION_TOKEN. Você não pode especificar o token de sessão como uma opção de linha de comando.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Especifica um pacote de certificado CA (um arquivo com a extensão .pem) que é usado para verificar certificados SSL.

Pode ser substituído pela variável de ambiente AWS_CA_BUNDLE ou pela opção de linha de comando --ca-bundle.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_follow_urlparam

Especifica se as AWS CLI tentativas de seguir links de URL nos parâmetros da linha de comando que começam com http:// ouhttps://. Quando ativado, o conteúdo recuperado é usado como o valor do parâmetro, em vez do URL.

  • true: o valor padrão. Se especificado, todos os parâmetros de string que comecem com http:// ou https:// são obtidos e todo o conteúdo baixado é usado como o valor do parâmetro para o comando.

  • false — Se especificado, o AWS CLI não trata valores de cadeia de caracteres de parâmetros que começam com http:// ou de https:// forma diferente de outras cadeias de caracteres.

Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

cli_follow_urlparam = false
cli_history

Desabilitado por padrão. Essa configuração ativa o histórico de comandos para a AWS CLI. Depois de ativar essa configuração, ele AWS CLI registra o histórico dos aws comandos.

cli_history = enabled

Você pode listar seu histórico usando o comando aws history list e usar os command_idsresultantes no comando aws history show para obter detalhes. Para obter mais informações, consulte aws history no guia de referência da AWS CLI .

cli_timestamp_format

Especifica o formato dos valores de timestamp incluídos no resultado. Você pode especificar qualquer um dos seguintes valores:

  • iso8601 — O valor padrão para a AWS CLI versão 2. Se especificado, o AWS CLI reformata todos os carimbos de data e hora de acordo com a ISO 8601.

    Os time stamps formatados como ISO 8601 são parecidos com os exemplos a seguir. O primeiro exemplo mostra a hora no Tempo Universal Coordenado (UTC) incluindo um Z após o horário. A data e a hora são separadas por T.

    2019-10-31T22:21:41Z

    Para especificar um fuso horário diferente, em vez do Z, especifique + ou - e o número de horas em que o fuso horário desejado está à frente ou atrás do UTC, como um valor de dois dígitos. O exemplo a seguir mostra o mesmo tempo que o exemplo anterior, mas ajustado para o horário padrão do Pacífico, que está oito horas atrás do UTC:

    2019-10-31T14:21:41-08
  • wire — O valor padrão para a AWS CLI versão 1. Se especificado, AWS CLI exibe todos os valores de timestamp exatamente como recebidos na resposta da consulta HTTP.

Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

cli_timestamp_format = iso8601
credential_process

Especifica um comando externo que AWS CLI é executado para gerar ou recuperar credenciais de autenticação para usar nesse comando. O comando deve retornar as credenciais em um formato específico. Para obter mais informações sobre como usar essa configuração, consulte Credenciais de origem com um processo externo.

Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

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

Usado em instâncias ou contêineres do Amazon EC2 para especificar onde a AWS CLI pode encontrar credenciais a serem usadas para assumir a função especificada com o parâmetro role_arn. Não é possível especificar source_profile e credential_source no mesmo perfil.

Esse parâmetro pode ter um dos três valores:

  • Ambiente — Especifica que AWS CLI é para recuperar as credenciais de origem das variáveis de ambiente.

  • Ec2 InstanceMetadata — Especifica que AWS CLI é necessário usar a função do IAM anexada ao perfil da instância do EC2 para obter as credenciais de origem.

  • EcsContainer— Especifica que deve usar a AWS CLI função do IAM anexada ao contêiner do ECS como credenciais de origem.

credential_source = Ec2InstanceMetadata
duration_seconds

Especifica a duração máxima da sessão da função, em segundos. Esse valor pode variar de 900 segundos (15 minutos) até o valor configurado de duração máxima da sessão para a função (que pode ser até 43200). Esse é um parâmetro opcional e, por padrão, o valor é definido como 3600 segundos.

endpoint_url

Especifica o endpoint usado para todas as solicitações de serviço. Se essa configuração for usada na seção services do arquivo config, o endpoint será usado somente para o serviço especificado.

O exemplo a seguir usa o endpoint global http://localhost:1234 e um endpoint específico de serviço de http://localhost:4567 para o Amazon S3.

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

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.

ignore_configure_endpoint_urls

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

ignore_configure_endpoint_urls = true

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.

external_id

Especifica um identificador exclusivo que é usado por terceiros para assumir uma função em suas contas de clientes. Isso é mapeado para o parâmetro ExternalId na operação AssumeRole. Esse parâmetro será necessário somente se a política de confiança para a função especificar um valor para ExternalId. Para obter mais informações, consulte Como usar uma ID externa ao conceder acesso aos seus AWS recursos a terceiros no Guia do usuário do IAM.

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 max_attempts valor que você fornece.

Você pode substituir esse valor usando a variável de ambiente AWS_MAX_ATTEMPTS.

max_attempts = 3
mfa_serial

O número de identificação de um dispositivo MFA a ser usado ao assumir uma função. Isso será obrigatório apenas se a política de confiança da função que está sendo assumida incluir uma condição que exija a autenticação MFA. O valor pode ser um número de série de um dispositivo de hardware (como GAHT12345678) ou um nome de recurso da Amazon (ARN) de um dispositivo MFA virtual (como arn:aws:iam::123456789012:mfa/user).

output

Especifica o formato de saída padrão para comandos solicitados usando esse perfil. Você pode especificar qualquer um dos seguintes valores:

  • json: a saída é formatada como uma string JSON.

  • text: a saída é formatada como várias linhas de valores de string separados por tabulação. Isso pode ser útil para passar a saída para um processador de texto, como grep, sed ou awk.

  • table: a saída é formatada como uma tabela usando os caracteres +|- para formar as bordas da célula. Geralmente, a informação é apresentada em um formato "amigável", que é muito mais fácil de ler do que outros, mas não tão útil programaticamente.

Pode ser substituído pela variável de ambiente AWS_DEFAULT_OUTPUT ou pela opção de linha de comando --output.

output = table
parameter_validation

Especifica se o AWS CLI cliente tenta validar os parâmetros antes de enviá-los ao ponto final do AWS serviço.

  • true: o valor padrão. Se especificado, o AWS CLI executa a validação local dos parâmetros da linha de comando.

  • false — Se especificado, o AWS CLI não valida os parâmetros da linha de comando antes de enviá-los ao endpoint do AWS serviço.

Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

parameter_validation = false
region

Especifica o Região da AWS envio de solicitações para comandos solicitados usando esse perfil.

  • É possível especificar qualquer um dos códigos de região disponíveis para o serviço escolhido, conforme listado em Regiões e endpoints da AWS na Referência geral da Amazon Web Services.

  • aws_globalpermite que você especifique o endpoint global para serviços que oferecem suporte a um endpoint global, além de endpoints regionais, como AWS Security Token Service ()AWS STS e Amazon Simple Storage Service (Amazon S3).

Você pode substituir esse valor usando a variável de ambiente AWS_DEFAULT_REGION ou a opção da linha de comando --region.

region = us-west-2
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.

Você pode substituir esse valor usando a variável de ambiente AWS_RETRY_MODE.

retry_mode = standard
role_arn

Especifica o Amazon Resource Name (ARN) de uma função do IAM que você deseja usar para executar AWS CLI os comandos. Também é necessário especificar um dos seguintes parâmetros para identificar as credenciais que têm permissão para assumir essa função:

  • source_profile

  • credential_source

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

A variável de ambiente AWS_ROLE_ARN sobrescreve essa configuração.

Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.

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.

role_session_name = maria_garcia_role

A variável de ambiente AWS_ROLE_SESSION_NAME sobrescreve essa configuração.

Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.

services

Especifica a configuração de serviço a ser usada em seu 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 obter mais informações sobre a seção services, consulte Tipo de seção: services.

A variável de ambiente AWS_ROLE_SESSION_NAME sobrescreve essa configuração.

Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.

source_profile

Especifica um perfil nomeado com credenciais de longo prazo que a AWS CLI pode usar para assumir uma função que você especificou com o parâmetro role_arn. Não é possível especificar source_profile e credential_source no mesmo perfil.

source_profile = production-profile
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.

Essa configuração pode ser substituída usando a variável de ambiente AWS_STS_REGIONAL_ENDPOINTS. Você não pode definir esse valor como um parâmetro de linha de comando.

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.

Isso é mutuamente exclusivo com a configuração use_accelerate_endpoint.

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.

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 AWS serviço suporta FIPS, essa configuração especifica qual endpoint FIPS ele deve usar. AWS CLI 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.

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.

A variável de ambiente AWS_WEB_IDENTITY_TOKEN_FILE sobrescreve essa configuração.

Para obter mais informações sobre o uso de identidades da Web, consulte Assumir a função com a identidade da web.

tcp_keepalive

Especifica se o AWS CLI cliente usa pacotes TCP keep-alive.

Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.

tcp_keepalive = false

Configurações de comando personalizadas do S3

O Amazon S3 oferece suporte a várias configurações que definem como ele AWS CLI executa as operações do Amazon S3. Algumas se aplicam a todos os comandos do S3 nos namespaces s3api e s3. Outros são especificamente para os comandos “personalizados” do S3 que abstraem operações comuns e fazem mais do que one-to-one mapear uma operação de API. Os comandos de transferência aws s3 cp, sync, mv e rm têm configurações adicionais que você pode usar para controlar as transferências do S3.

Todas essas opções podem ser configuradas especificando a configuração s3 aninhada em seu arquivo config. Depois, cada configuração é recuada em sua própria linha.

nota

Essas configurações são totalmente opcionais. Você deve ser capaz de usar com êxito os comandos de transferência aws s3 sem definir nenhuma dessas configurações. Essas configurações são fornecidas para permitir que você ajuste a performance ou considere o ambiente específico no qual está executando esses comandos aws s3.

Essas configurações são todas definidas em uma chave s3 de nível superior no arquivo config, conforme mostrado no exemplo a seguir para o 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

As configurações a seguir se aplicam a qualquer comando do S3 nos namespaces s3 ou s3api.

addressing_style

Especifica qual estilo de endereçamento usar. Isso controla se o nome do bucket está no nome do host ou em parte do URL. Os valores válidos são: path, virtual e auto. O valor padrão é auto.

Há dois estilos de criação de um endpoint do Amazon S3. O primeiro é chamado virtual e inclui o nome do bucket como parte do nome do host. Por exemplo: https://bucketname.s3.amazonaws.com. Como alternativa, com o estilo path, você trata o nome do bucket como se fosse um caminho no URI. Por exemplo, https://s3.amazonaws.com/bucketname. O valor padrão na CLI é usar auto, que tentará empregar o estilo virtual onde puder, mas voltará para o estilo path quando necessário. Por exemplo, se o nome do bucket não for compatível com DNS, ele não poderá fazer parte do nome do host e deverá estar no caminho. Com auto, a CLI detectará essa condição e alternará automaticamente para o estilo path. Se você definir o estilo de endereçamento comopath, deverá garantir que a AWS região que você configurou AWS CLI corresponda à região do seu bucket.

payload_signing_enabled

Especifica se o SHA256 deverá assinar cargas sigv4. Por padrão, ele fica desativado para uploads de streaming (UploadPart e PutObject) ao usar HTTPS. Por padrão, esse valor é definido como false para uploads de streaming (UploadPart e PutObject), mas somente se um ContentMD5 estiver presente (é gerado por padrão) e o endpoint usar HTTPS.

Se definido como true, as solicitações do S3 receberão validação de conteúdo adicional na forma de uma soma de verificação SHA256 que é calculada para você e será incluída na assinatura da solicitação. Se for definido como false, a soma de verificação não será calculada. Desativar essa opção poderá ser útil para reduzir a sobrecarga de performance criada pela soma da soma de verificação.

use_accelerate_endpoint

Use o endpoint Amazon S3 Accelerate para todos os comandos s3 e s3api. O valor padrão é falso. Isso é mutuamente exclusivo com a configuração use_dualstack_endpoint.

Se definido como verdadeiro, ele AWS CLI direciona todas as solicitações do Amazon S3 para S3 Accelerate o endpoint em. s3-accelerate.amazonaws.com Para usar esse endpoint, é necessário ativar o bucket para usar o S3 Accelerate. Todas as solicitações são enviadas usando o estilo virtual de endereçamento de bucket: my-bucket.s3-accelerate.amazonaws.com. As solicitações ListBuckets, CreateBucket e DeleteBucket não são enviadas ao endpoint do S3 Accelerate porque esse endpoint não oferece suporte a essas operações. Esse comportamento também poderá ser definido se o parâmetro --endpoint-url estiver definido como https://s3-accelerate.amazonaws.com ou http://s3-accelerate.amazonaws.com para qualquer comando s3 ou s3api.

As seguintes configurações se aplicam somente aos comandos do conjunto de comandos do namespace s3.

max_bandwidth

Especifica a largura de banda máxima que pode ser consumida para carregar e baixar dados de e para o Amazon S3. O padrão é sem limite.

Isso limita a largura de banda máxima que os comandos do S3 podem usar para transferir dados de e para o Amazon S3. Esse valor se aplica apenas a uploads e downloads; ele não se aplica a cópias nem as exclui. O valor é expresso em bytes por segundo. O valor pode ser especificado como:

  • Um valor inteiro. Por exemplo, 1048576 define o uso máximo da largura de banda como 1 megabyte por segundo.

  • Um valor inteiro seguido por um sufixo de taxa. Você pode especificar sufixos de taxa usando: KB/s, MB/s ou GB/s. Por exemplo, 300KB/s, 10MB/s.

Em geral, recomendamos que você primeiro tente reduzir o consumo de largura de banda diminuindo max_concurrent_requests. Se isso não adequar o consumo de largura de banda limite para a taxa desejada, você poderá usar a configuração max_bandwidth para limitar ainda mais o consumo de largura de banda. Isso ocorre porque max_concurrent_requests controla o número de threads em execução no momento. Se, em vez disso, você baixar primeiro, max_bandwidth mas deixar uma configuração max_concurrent_requests alta, isso pode fazer com que threads tenham que esperar desnecessariamente. Isso pode levar ao excesso de consumo de recursos e tempos limite de conexão.

max_concurrent_requests

Especifica o número máximo de solicitações simultâneas. O valor padrão é 10.

Os comandos de transferência aws s3 são multithread. Em um determinado momento, várias solicitações do Amazon S3 podem estar em execução. Por exemplo, quando você usa o comando aws s3 cp localdir s3://bucket/ --recursive para fazer upload de arquivos em um bucket do S3, eles AWS CLI podem fazer upload dos arquivos localdir/file1localdir/file2, e localdir/file3 em paralelo. A configuração max_concurrent_requests especifica o número máximo de operações de transferência que podem ser executadas ao mesmo tempo.

Talvez você precise alterar esse valor por alguns motivos:

  • Diminuir esse valor: em alguns ambientes, o padrão de 10 solicitações simultâneas pode sobrecarregar um sistema. Isso pode causar erros de tempo limite de conexão ou diminuir a capacidade de resposta do sistema. Reduzir esse valor faz com que os comandos de transferência do S3 usem menos recursos. A desvantagem é que as transmissões do S3 podem levar mais tempo para serem concluídas. Reduzir esse valor poderá ser necessário se você usar uma ferramenta para limitar a largura de banda.

  • Aumentar esse valor: em alguns cenários, talvez você queira que as transferências do Amazon S3 sejam concluídas com o máximo de rapidez possível, usando tanta largura de banda de rede quanto necessário. Nesse cenário, o número padrão de solicitações simultâneas pode não ser suficiente para utilizar toda a largura de banda de rede disponível. O aumento desse valor pode melhorar o tempo necessário para concluir uma transferência do Amazon S3.

max_queue_size

Especifica o número máximo de tarefas na fila de tarefas. O valor padrão é 1000.

O usa AWS CLI internamente um modelo em que enfileira tarefas do Amazon S3 que são então executadas por consumidores cujos números são limitados por. max_concurrent_requests Em geral, uma tarefa é mapeada para uma única operação do Amazon S3. Por exemplo, a tarefa pode ser PutObjectTask, GetObjectTask ou UploadPartTask. A taxa na qual as tarefas são adicionadas à fila pode ser muito mais rápida do que a taxa na qual os consumidores concluem as tarefas. Para evitar o crescimento não vinculado, o tamanho da fila de tarefas é limitada a um tamanho específico. Essa configuração altera o valor desse número máximo.

Em geral, você não precisa alterar essa configuração. Essa configuração também corresponde ao número de tarefas que ele conhece e que precisam ser executadas. AWS CLI Isso significa que, por padrão, eles só AWS CLI podem ver 1000 tarefas à frente. Aumentar esse valor significa que eles AWS CLI podem saber mais rapidamente o número total de tarefas necessárias, supondo que a taxa de filas seja mais rápida do que a taxa de conclusão da tarefa. A desvantagem é que um max_queue_size maior requer mais memória.

multipart_chunksize

Especifica o tamanho do fragmento que ele AWS CLI usa para transferências de várias partes de arquivos individuais. O valor padrão é de 8 MB, com um mínimo de 5 MB.

Quando uma transferência de arquivos excede o multipart_threshold, a AWS CLI divide o arquivo em blocos desse tamanho. Esse valor pode ser especificado usando a mesma sintaxe que multipart_threshold, como o número de bytes como um número inteiro ou usando um tamanho e um sufixo.

multipart_threshold

Especifica o limite de tamanho AWS CLI usado para transferências de várias partes de arquivos individuais. O valor padrão é de 8 MB.

Ao carregar, baixar ou copiar um arquivo, os comandos do Amazon S3 alternarão para operações multipart se o arquivo exceder esse tamanho. É possível especificar esse valor de duas formas:

  • O tamanho do arquivo em bytes. Por exemplo, 1048576.

  • O tamanho do arquivo com um sufixo de tamanho. Você pode usar KB, MB, GB ou TB. Por exemplo: 10MB, 1GB.

    nota

    O S3 pode impor restrições quanto a valores válidos que podem ser usados para operações multipart. Para obter mais informações, consulte a documentação do Carregamento fracionado do S3 no Manual do usuário do Amazon Simple Storage Service.