

# Autenticação usando credenciais de usuário do IAM para a AWS CLI
<a name="cli-authentication-user"></a>

**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 [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Essa seção explica como definir as configurações básicas com um usuário do IAM. Isso inclui suas credenciais de segurança usando os arquivos `config` e `credentials`. Em vez disso, veja as instruções de configuração do Centro de Identidade do AWS IAM; consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

**Contents**
+ [Etapa 1: criar o usuário do IAM](#cli-authentication-user-create)
+ [Etapa 2: obter as chaves de acesso](#cli-authentication-user-get)
+ [Etapa 3: configurar a AWS CLI](#cli-authentication-user-configure.title)
  + [Usar o `aws configure`](#cli-authentication-user-configure-wizard)
  + [Importar chaves de acesso por meio do arquivo .CSV](#cli-authentication-user-configure-csv)
  + [Editar diretamente os arquivos `config` e `credentials`](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)
+ [(Opcional) Usar autenticação multifator com suas credenciais de usuário do IAM](#cli-authentication-user-configure-csv.titlecli-authentication-user-mfa)

## Etapa 1: criar o usuário do IAM
<a name="cli-authentication-user-create"></a>

Crie o usuário do IAM seguindo o procedimento de [Criação de usuários do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) no *Guia do usuário do IAM*. 
+ Em **Opções de permissão**, escolha **Anexar políticas diretamente** para como você deseja atribuir permissões a esse usuário.
+ A maioria dos tutoriais de “Conceitos básicos” do SDK usa o serviço Amazon S3 como exemplo. Para fornecer à aplicação acesso total ao Amazon S3, selecione a política `AmazonS3FullAccess` para anexar a esse usuário.

## Etapa 2: obter as chaves de acesso
<a name="cli-authentication-user-get"></a>

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação do console do IAM, selecione **Usuários** e escolha o usuário **`User name`** que você criou anteriormente. 

1. Na página do usuário, selecione a página **Credenciais de segurança**. Depois, em **Chaves de acesso**, selecione **Criar chave de acesso**.

1.  Em **Criar chave de acesso: etapa 1**, escolha **Command Line Interface (CLI)**.

1. Em **Criar chave de acesso: etapa 2**, insira uma tag opcional e selecione **Próximo**. 

1. Em **Criar chave de acesso: etapa 3**, selecione **Baixar arquivo .csv** para salvar um arquivo `.csv` com a chave de acesso e a chave de acesso secreta do usuário do IAM. Você precisará dessas informações posteriormente.

1. Selecione Concluído.

## Etapa 3: configurar a AWS CLI
<a name="cli-authentication-user-configure.title"></a>

Para uso geral, a AWS CLI precisa das seguintes informações:
+ Access key ID (ID da chave de acesso)
+ Secret access key (Chave de acesso secreta)
+ Região da AWS
+ Formato de saída

A AWS CLI armazena essas informações em um *perfil* (um conjunto de configurações) chamado `default` no arquivo `credentials`. 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 o arquivo `credentials`, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).

Para configurar a AWS CLI, use um dos seguintes procedimentos:

**Topics**
+ [Usar o `aws configure`](#cli-authentication-user-configure-wizard)
+ [Importar chaves de acesso por meio do arquivo .CSV](#cli-authentication-user-configure-csv)
+ [Editar diretamente os arquivos `config` e `credentials`](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)

### Usar o `aws configure`
<a name="cli-authentication-user-configure-wizard"></a>

Para uso geral, o comando `aws configure` é a maneira mais rápida de configurar sua instalação da AWS CLI. Esse assistente de configuração solicita cada informação necessária para começar. A menos que especificado de outra forma usando a opção `--profile`, a AWS CLI armazena essas informações no perfil `default`.

O exemplo a seguir configura um perfil `default` usando valores de amostra. Substitua-os por seus próprios valores, conforme descrito nas seções a seguir.

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

O exemplo a seguir configura um perfil chamado `userprod` usando valores de amostra. Substitua-os por seus próprios valores, conforme descrito nas seções a seguir.

```
$ aws configure --profile userprod
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
```

### Importar chaves de acesso por meio do arquivo .CSV
<a name="cli-authentication-user-configure-csv"></a>

Em vez de usar o `aws configure` para inserir chaves de acesso, você pode importar o arquivo `.csv` de texto simples que baixou depois de criar as chaves de acesso. 

O arquivo `.csv` deve conter os cabeçalhos a seguir.
+ Nome de usuário: essa coluna deve ser adicionada ao `.csv`. Isso é usado para criar o nome do perfil usado nos arquivos `config` e `credentials` ao importar.
+ Access key ID (ID da chave de acesso)
+ Secret access key (Chave de acesso secreta)

**nota**  
Durante a criação inicial das chaves de acesso, depois de fechar a caixa de diálogo **Baixar arquivo .csv**, você não poderá acessar a chave de acesso secreta. Se você precisar de um arquivo `.csv`, será necessário criá-lo por conta própria com os cabeçalhos necessários e as informações das chaves de acesso armazenadas. Se você não tiver acesso às informações das chaves de acesso, será necessário criar outras chaves de acesso.

Para importar o arquivo `.csv`, use o comando `aws configure import` com a opção `--csv` da seguinte forma:

```
$ aws configure import --csv file://credentials.csv
```

Para obter mais informações, consulte `aws\$1configure\$1import`.

### Editar diretamente os arquivos `config` e `credentials`
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file"></a>

Para editar diretamente os arquivos `config` e `credentials`, faça o seguinte.

1. Crie ou abra o arquivo `credentials` da AWS compartilhado. Esse arquivo é `~/.aws/credentials` em sistemas Linux e macOS e `%USERPROFILE%\.aws\credentials` no Windows. Para obter mais informações, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md). 

1. Adicione o texto a seguir ao arquivo `credentials` compartilhado. Substitua os valores de amostra no arquivo `.csv` que você baixou anteriormente e salve o arquivo. 

   ```
   [default] 
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE 
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

## (Opcional) Usar autenticação multifator com suas credenciais de usuário do IAM
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-mfa"></a>

Para aumentar a segurança, você pode uma chave única gerada a partir de um dispositivo de autenticação multifator (MFA), um dispositivo U2F ou um aplicativo móvel ao tentar fazer uma chamada.

Com seu usuário do IAM habilitado para MFA, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html](https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html) para configurar um novo perfil e usar a autenticação multifator (MFA) com o perfil especificado. Se nenhum perfil for especificado, a MFA será baseada no perfil `default`. Se nenhum perfil padrão estiver configurado, o comando `mfa-login` solicitará suas credenciais da AWS antes de solicitar suas informações de MFA. O exemplo de comando a seguir usa sua configuração padrão e cria um perfil de MFA.

```
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
```

Para atualizar um perfil existente, use o parâmetro `--update-profile`.

```
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
```

No momento, este comando é compatível somente com autenticadores de senha de uso único (OTP) baseados em hardware ou software. No momento, não é possível usar esse comando com chaves de acesso e dispositivos U2F.

Para usar seu perfil de MFA, use a opção `--profile` com seus comandos.

```
$ aws s3 ls --profile mfaprofile
```

Para ter mais informações sobre como usar a MFA com o IAM, inclusive sobre como atribuir a MFA a um usuário do IAM, consulte [Autenticação multifator da AWS no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) no *Guia do usuário do AWS Identity and Access Management*.