

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 usuários do IAM
<a name="iam-examples-managing-users"></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 recuperar uma lista de usuários do IAM.
+ Como criar e excluir usuários.
+ Como atualizar um nome de usuário.

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

Neste exemplo, é usada uma série de módulos do Node.js para criar e gerenciar usuários no IAM. Os módulos do Node.js usam o SDK para criar, excluir e atualizar os usuários usando estes métodos da classe de cliente do `AWS.IAM`:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createUser-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createUser-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listUsers-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listUsers-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#updateUser-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#updateUser-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getUser-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getUser-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#deleteUser-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#deleteUser-property)

Para obter mais informações sobre usuários do IAM, consulte [Usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) no *Guia do usuário do IAM*.

## Tarefas de pré-requisito
<a name="iam-examples-managing-users-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).

## Criação de um usuário
<a name="iam-examples-managing-users-creating-users"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_createuser.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, compostos pelo nome do usuário que você deseja usar para o novo usuário como um parâmetro de linha de comando.

Chame o método `getUser` do objeto de serviço `AWS.IAM` para ver se o nome de usuário já existe. Se o nome de usuário ainda não existir, chame o método `createUser` para criá-lo. Se o nome já existe, escreva uma mensagem sobre esse efeito para o console.

```
// 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 = {
  UserName: process.argv[2],
};

iam.getUser(params, function (err, data) {
  if (err && err.code === "NoSuchEntity") {
    iam.createUser(params, function (err, data) {
      if (err) {
        console.log("Error", err);
      } else {
        console.log("Success", data);
      }
    });
  } else {
    console.log(
      "User " + process.argv[2] + " already exists",
      data.User.UserId
    );
  }
});
```

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

```
node iam_createuser.js USER_NAME
```

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_createuser.js).

## Listar os usuários na sua conta
<a name="iam-examples-managing-users-listing-users"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_listusers.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 listar seus usuários, limitando o número retornado ao definir o parâmetro `MaxItems` a 10. Chame o método `listUsers` do objeto de serviço do `AWS.IAM`. Grave o nome do primeiro usuário e a data de criação no console.

```
// 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: 10,
};

iam.listUsers(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    var users = data.Users || [];
    users.forEach(function (user) {
      console.log("User " + user.UserName + " created", user.CreateDate);
    });
  }
});
```

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

```
node iam_listusers.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_listusers.js).

## Atualizar o nome de um usuário
<a name="iam-examples-managing-users-updating-users"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_updateuser.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 listar seus usuários, especificando tanto o nome atual quanto o nome novo do usuário na forma de parâmetros de linha de comando. Chame o método `updateUser` 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 = {
  UserName: process.argv[2],
  NewUserName: process.argv[3],
};

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

Para executar o exemplo, digite o que está a seguir na linha de comando, especificando o nome atual do usuário seguido pelo nome novo do usuário.

```
node iam_updateuser.js ORIGINAL_USERNAME NEW_USERNAME
```

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_updateuser.js).

## Excluir um usuário
<a name="iam-examples-managing-users-deleting-users"></a>

Crie um módulo do Node.js com o nome de arquivo `iam_deleteuser.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, compostos pelo nome do usuário que você deseja excluir como um parâmetro de linha de comando.

Chame o método `getUser` do objeto de serviço `AWS.IAM` para ver se o nome de usuário já existe. Se o nome de usuário não existir, escreva uma mensagem sobre esse efeito para o console. Se o usuário existir, chame o método `deleteUser` para excluí-lo.

```
// 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 = {
  UserName: process.argv[2],
};

iam.getUser(params, function (err, data) {
  if (err && err.code === "NoSuchEntity") {
    console.log("User " + process.argv[2] + " does not exist.");
  } else {
    iam.deleteUser(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_deleteuser.js USER_NAME
```

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_deleteuser.js).