Perfis nomeados da AWS CLI - AWS Command Line Interface

Perfis nomeados da AWS CLI

Perfil nomeado é um conjunto 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. Vários perfis nomeados podem ser armazenados nos arquivos config e credentials.

Você pode especificar um perfil default 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. Também é possível especificar um perfil na variável de ambiente AWS_PROFILE, que substitui o perfil padrão por comandos executados na sessão.

Criar perfis nomeados

Você pode configurar perfis adicionais usando aws configure com a opção --profile ou adicionando manualmente entradas aos arquivos config e credentials. Para obter mais informações sobre os arquivos config e credentials, consulte Configurações de arquivos de configuração e credenciais.

Perfil de credenciais

O exemplo a seguir mostra um arquivo credentials com dois perfis. O primeiro [default] é usado quando você executa um comando da AWS CLI sem perfil. O segundo é usado quando você executa um comando da AWS CLI com o parâmetro --profile user1.

O arquivo credentials usa um formato de nomenclatura diferente do arquivo config da AWS CLI para perfis nomeados. Não use a palavra profile ao criar uma entrada no arquivo credentials.

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

Perfil Config

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. Ao nomear o perfil em um arquivo config, inclua o prefixo “profile”.

O exemplo a seguir especifica informações de região e de saída para os perfis default e user1.

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

Usar perfis nomeados

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 que usam 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

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