Perfis nomeados - AWS Command Line Interface

O Python 2.7, 3.4 e 3.5 está sendo defasado para o AWS CLI versão 1. Para obter mais informações, consulte a AWS CLI versão 1 seção de Sobre as AWS CLI versões.

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

Perfis nomeados

Um perfil nomeado é uma coleção de configurações e credenciais que você pode aplicar a um comando da AWS CLI. Ao especificar um perfil para executar um comando, as configurações e credenciais são usadas para executá-lo. Você pode especificar um perfil "padrão" para ser usado quando nenhum perfil for explicitamente referenciado. Outros perfis têm nomes que você pode definir como um parâmetro na linha de comando para comandos individuais. Como alternativa, é possível especificar um perfil em uma variável de ambiente (AWS_PROFILE) que, essencialmente, substitui o perfil padrão por comandos executados na sessão.

A AWS CLI oferece suporte usando qualquer um dos vários perfis nomeados armazenados nos credentials arquivos config. Você pode configurar perfis adicionais usando aws configure com a opção --profile ou adicionando entradas aos arquivos config e credentials.

O exemplo a seguir mostra um arquivo credentials com dois perfis. O primeiro [padrão] é usado ao executar um comando da CLI sem perfil. O segundo é usado ao executar um comando da CLI com o parâmetro --profile user1.

~/.aws/credentials (Linux e Mac) ou %USERPROFILE%\.aws\credentials (Windows)

[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

Cada perfil especifica credenciais diferentes — talvez provenientes de usuários diferentes do IAM — e também pode especificar regiões da AWS e formatos de saída diferentes.

~/.aws/config (Linux e Mac) ou %USERPROFILE%\.aws\config (Windows)

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

O arquivo credentials usa um formato de nomenclatura diferente do arquivo config da CLI para perfis nomeados. Inclua o prefixo "profile" somente ao configurar um perfil nomeado no arquivo config. Não use a palavra profile ao criar uma entrada no arquivo credentials.

Usar perfis com a AWS CLI

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

$ 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 na linha de comando.

Linux ou macOS X

$ 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 obter mais informações, consulte Variáveis de ambiente para configurar a AWS CLI.

nota

Se você especificar um perfil com --profile em um comando individual, isso substituirá a configuração especificada na variável de ambiente somente para esse comando.