

O AWS SDK para JavaScript v2 chegou ao fim do suporte. Recomendamos migrar para o [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalhes e informações sobre como migrar, consulte este [anúncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Gerenciar chaves de acesso do IAM
<a name="iam-examples-managing-access-keys"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/pt_br/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Este exemplo de código Node.js mostra:**
+ Como gerenciar as chaves de acesso dos seus usuários.

## O cenário
<a name="iam-examples-managing-access-keys-scenario"></a>

Os usuários precisam de suas próprias chaves de acesso para fazer chamadas programáticas à AWS no SDK para JavaScript. Para atender a essa necessidade, você pode criar, modificar, exibir ou mudar chaves de acesso (IDs de chave de acesso e chaves de acesso secretas) para os usuários do IAM. Por padrão, quando você cria uma chave de acesso, o status dela é `Active`, o que significa que o usuário pode usar a chave de acesso para chamadas de API. 

Neste exemplo, é usada uma série de módulos do Node.js para gerenciar chaves de acesso no IAM. Os módulos do Node.js usam o SDK para JavaScript para gerenciar as chaves de acesso do IAM usando estes métodos da classe de cliente `AWS.IAM`:
+ [createAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createAccessKey-property)
+ [listAccessKeys](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listAccessKeys-property)
+ [getAccessKeyLastUsed](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getAccessKeyLastUsed-property)
+ [updateAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#updateAccessKey-property)
+ [deleteAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#deleteAccessKey-property)

Para obter mais informações sobre as chaves de acesso, consulte [Chaves de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) no *Manual do usuário do IAM*.

## Tarefas de pré-requisito
<a name="iam-examples-managing-access-keys-prerequisites"></a>

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
+ Instale o Node.js. Para obter mais informações sobre como instalar Node.js, consulte o [website de Node.js](https://nodejs.org).
+ Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhadas, consulte [Carregar credenciais em Node.js do arquivo de credenciais compartilhado](loading-node-credentials-shared.md).

## Criar chaves de acesso para um usuário
<a name="iam-examples-managing-access-keys-creating"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_createaccesskeys.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do `AWS.IAM`. Crie um objeto JSON contendo os parâmetros necessários para criar novas chaves de acesso, que incluem o nome do usuário do IAM. Chame o método `createAccessKey` do objeto de serviço do `AWS.IAM`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

iam.createAccessKey({ UserName: "IAM_USER_NAME" }, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.AccessKey);
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando. Redirecione os dados retornados para um arquivo de texto para não perder a chave secreta, que só pode ser fornecida uma vez.

```
node iam_createaccesskeys.js > newuserkeys.txt
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_createaccesskeys.js).

## Listar as chaves de acesso de um usuário
<a name="iam-examples-managing-access-keys-listing"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_listaccesskeys.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do `AWS.IAM`. Crie um objeto JSON contendo os parâmetros necessários para recuperar as chaves de acesso do usuário, que incluem o nome do usuário do IAM e, opcionalmente, o número máximo de pares de chave de acesso que você deseja listar. Chame o método `listAccessKeys` do objeto de serviço do `AWS.IAM`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var params = {
  MaxItems: 5,
  UserName: "IAM_USER_NAME",
};

iam.listAccessKeys(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node iam_listaccesskeys.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_listaccesskeys.js).

## Fazer o último uso das chaves de acesso
<a name="iam-examples-managing-access-keys-last-used"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_accesskeylastused.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do `AWS.IAM`. Crie um objeto JSON contendo os parâmetros necessários para criar novas chaves de acesso, que é o ID de chave de acesso para o qual você deseja que a informação de último uso. Chame o método `getAccessKeyLastUsed` do objeto de serviço do `AWS.IAM`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

iam.getAccessKeyLastUsed(
  { AccessKeyId: "ACCESS_KEY_ID" },
  function (err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data.AccessKeyLastUsed);
    }
  }
);
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node iam_accesskeylastused.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_accesskeylastused.js).

## Atualizar o status de uma chave de acesso
<a name="iam-examples-managing-access-keys-updating"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_updateaccesskey.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do `AWS.IAM`. Crie um objeto JSON contendo os parâmetros necessários para atualizar o status de chaves de acesso, que inclui o ID da chave de acesso e o status atualizado. O status pode ser `Active` ou `Inactive`. Chame o método `updateAccessKey` do objeto de serviço do `AWS.IAM`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var params = {
  AccessKeyId: "ACCESS_KEY_ID",
  Status: "Active",
  UserName: "USER_NAME",
};

iam.updateAccessKey(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node iam_updateaccesskey.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_updateaccesskey.js).

## Excluir chaves de acesso
<a name="iam-examples-managing-access-keys-deleting"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_deleteaccesskey.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o IAM, crie um objeto de serviço do `AWS.IAM`. Crie um objeto JSON contendo os parâmetros necessários para excluir chaves de acesso, que inclui o ID da chave de acesso e o nome do usuário. Chame o método `deleteAccessKey` do objeto de serviço do `AWS.IAM`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the IAM service object
var iam = new AWS.IAM({ apiVersion: "2010-05-08" });

var params = {
  AccessKeyId: "ACCESS_KEY_ID",
  UserName: "USER_NAME",
};

iam.deleteAccessKey(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node iam_deleteaccesskey.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_deleteaccesskey.js).