Configuração da AWS CLI - AWS Command Line Interface

Configuração da AWS CLI

Este tópico explica como definir rapidamente as configurações básicas que a AWS Command Line Interface (AWS CLI) usa para interagir com a AWS. Elas incluem as credenciais de segurança, o formato de saída padrão e a região padrão da AWS.

Reunir suas informações de credencial para acesso programático

Você precisará de acesso programático se quiser interagir com a AWS de fora do AWS Management Console. Para obter instruções de autenticação e credenciais, selecione uma das seguintes opções:

Tipo de autenticação Finalidade Instruções

Credenciais de curto prazo dos usuários da força de trabalho do Centro de Identidade do IAM

(Recomendado) Use credenciais de curto prazo para um usuário da força de trabalho do Centro de Identidade do IAM.

A melhor prática de segurança é usar o AWS Organizations com o Centro de Identidade do IAM. Ele combina credenciais de curto prazo com um diretório de usuários, como o diretório integrado do Centro de Identidade do IAM ou o Active Directory.

Definição da autenticação do Centro de Identidade do IAM com a AWS CLI
Credenciais de curto prazo para usuários do IAM Use as credenciais de curto prazo para usuários do IAM, que são mais seguras do que as credenciais de longo prazo. Se suas credenciais estiverem comprometidas, há um tempo limitado para usá-las antes de expirarem. Autenticação de credenciais de curto prazo para a AWS CLI
Usuários do IAM ou do Centro de Identidade do IAM em uma instância do Amazon EC2. Use os metadados da instância do Amazon EC2 para consultar credenciais temporárias usando a função atribuída à instância do Amazon EC2. Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI
Assumir funções para obter permissões Combine outro método de credencial e assuma um perfil para acesso temporário aos Serviços da AWS ao qual seu usuário talvez não tenha acesso. Uso de funções do IAM na AWS CLI
Credenciais de longo prazo para usuários do IAM (Não recomendado) Use credenciais de longo prazo, que não têm prazo de expiração. Autenticação usando credenciais de usuário do IAM para a AWS CLI
Armazenamento externo de usuários da força de trabalho do IAM ou do Centro de Identidade do IAM (Não recomendado) Combine outro método de credencial, mas armazene valores de credencial em um local fora da AWS CLI. Esse método é tão seguro quanto o local externo em que as credenciais são armazenadas. Credenciais de fornecimento com um processo externo na AWS CLI

Definir credenciais e configurações novas

A AWS CLI armazena suas informações de configuração e credencial em um perfil (uma coleção de configurações) nos arquivos credentials e config.

Os exemplos a seguir usam valores de amostra para cada um dos métodos de autenticação. Substitua os valores de amostra por seus próprios valores.

Configurar usando os comandos da AWS CLI

Para uso geral, os comandos aws configure ou aws configure sso em seu terminal de sua preferência são a maneira mais rápida de configurar sua instalação da AWS CLI. Com base no método de credencial de sua preferência, a AWS CLI solicita a você as informações relevantes. Por padrão, as informações neste perfil são usadas quando você executa um comando da AWS CLI que não especifica explicitamente um perfil a ser usado.

Para obter mais informações sobre os arquivos credentials e config, consulte Configurações do arquivo de configuração e credenciais na AWS CLI.

IAM Identity Center (SSO)

Este exemplo é para o AWS IAM Identity Center usando o assistente aws configure sso. Para ter mais informações, consulte Definição da autenticação do Centro de Identidade do IAM com a AWS CLI.

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

Este exemplo é para o método legado do AWS IAM Identity Center usando o assistente aws configure sso. Para usar o SSO legado, deixe o nome da sessão em branco. Para ter mais informações, consulte Definição da autenticação do Centro de Identidade do IAM com a AWS CLI.

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
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 Autenticação de credenciais de curto prazo para a AWS CLI.

$ 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 funções 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 metadados da instância do Amazon EC2 como credenciais na AWS CLI.

$ 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 Autenticação usando credenciais de usuário do IAM para a AWS CLI.

$ 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

Para obter mais informações mais detalhadas sobre os métodos de credenciais e autenticação, consulte Autenticação e credenciais de acesso para a AWS CLI.

Editar manualmente as credenciais e os arquivos de configuração

Ao copiar e colar as informações, sugerimos editar manualmente o arquivo config e credentials. Com base no método de credencial de sua preferência, os arquivos são configurados de uma forma diferente.

Os arquivos são armazenados no diretório inicial, na pasta .aws. 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. Para obter mais informações sobre onde essas configurações estão armazenadas, consulte Onde as definições de configuração ficam armazenadas?.

Os exemplos a seguir mostram um perfil default e um perfil chamado user1 e usam valores de amostra. Substitua os valores de amostra por seus próprios valores. Para obter mais informações sobre os arquivos credentials e config, consulte Configurações do arquivo de configuração e credenciais na AWS CLI.

IAM Identity Center (SSO)

Este exemplo é para AWS IAM Identity Center. Para ter mais informações, consulte Definição da autenticação do Centro de Identidade do IAM com a AWS CLI.

Arquivo de credenciais

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

Arquivo de configuração

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

Este exemplo é para o método legado de AWS IAM Identity Center. Para ter mais informações, consulte Definição da autenticação do Centro de Identidade do IAM com a AWS CLI.

Arquivo de credenciais

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

Arquivo de configuração

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. Para ter mais informações, consulte Autenticação de credenciais de curto prazo para a AWS CLI.

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 funções 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 metadados da instância do Amazon EC2 como credenciais na AWS CLI.

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 Autenticação usando credenciais de usuário do IAM para a AWS CLI.

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 mais detalhadas sobre os métodos de credenciais e autenticação, consulte Autenticação e credenciais de acesso para a AWS CLI.

Usar arquivos de credenciais e configurações existentes

Se você tiver arquivos de configuração e credenciais existentes, eles poderão ser usados para a AWS CLI.

Para usar os arquivos config e credentials, mova-os para a pasta chamada .aws em seu diretório inicial. 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 config e credentials definindo as variáveis de ambienteAWS_CONFIG_FILE e AWS_SHARED_CREDENTIALS_FILE para outro caminho local. Para mais detalhes, consulte Configurar variáveis de ambiente para a AWS CLI.

Para obter informações mais detalhadas sobre arquivos de configuração e credenciais, consulte Configurações do arquivo de configuração e credenciais na AWS CLI.