

适用于 JavaScript 的 AWS SDK v2 已终止支持。建议您迁移到 [适用于 JavaScript 的 AWS SDK v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/)。有关更多详情和如何迁移的信息，请参阅本[公告](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)。

# 管理 IAM 用户
<a name="iam-examples-managing-users"></a>

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

**此 Node.js 代码示例演示：**
+ 如何检索 IAM 用户列表。
+ 如何创建和删除用户。
+ 如何更新用户名。

## 情景
<a name="iam-examples-managing-users-scenario"></a>

本示例使用一系列 Node.js 模块在 IAM 中创建和管理用户。这些 Node.js 模块使用 SDK for JavaScript，通过 `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)

有关 IAM 用户的更多信息，请参阅《IAM 用户指南》**中的 [IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)。

## 先决条件任务
<a name="iam-examples-managing-users-prerequisites"></a>

要设置和运行此示例，您必须先完成以下任务：
+ 安装 Node.js。有关安装 Node.js 的更多信息，请参阅 [Node.js 网站](https://nodejs.org)。
+ 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息，请参阅[从共享凭证文件加载 Node.js 中的凭证](loading-node-credentials-shared.md)。

## 创建用户
<a name="iam-examples-managing-users-creating-users"></a>

创建文件名为 `iam_createuser.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含所需参数的 JSON 对象，该对象包含要用于新用户的用户名作为命令行参数。

调用 `getUser` 服务对象的 `AWS.IAM` 方法，查看该用户名是否已存在。如果用户名称当前不存在，请调用 `createUser` 方法来创建它。如果名称已存在，则将说明该结果的消息写入控制台。

```
// 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
    );
  }
});
```

要运行示例，请在命令行中键入以下内容。

```
node iam_createuser.js USER_NAME
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_createuser.js)找到。

## 列出您的账户中的用户
<a name="iam-examples-managing-users-listing-users"></a>

创建文件名为 `iam_listusers.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含列出用户时所需参数的 JSON 对象，通过将 `MaxItems` 参数设置为 10 来限制返回的数量。调用 `listUsers` 服务对象的 `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: 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);
    });
  }
});
```

要运行示例，请在命令行中键入以下内容。

```
node iam_listusers.js
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_listusers.js)找到。

## 更新用户名
<a name="iam-examples-managing-users-updating-users"></a>

创建文件名为 `iam_updateuser.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含列出用户时所需参数的 JSON 对象，并将当前用户名和新用户名都指定为命令行参数。调用 `updateUser` 服务对象的 `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);
  }
});
```

要运行该示例，请在命令行中键入以下内容，指定用户的当前名称，后跟新用户名。

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

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_updateuser.js)找到。

## 删除用户
<a name="iam-examples-managing-users-deleting-users"></a>

创建文件名为 `iam_deleteuser.js` 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM，请创建 `AWS.IAM` 服务对象。创建一个包含所需参数的 JSON 对象，该对象包含要删除的用户名作为命令行参数。

调用 `getUser` 服务对象的 `AWS.IAM` 方法，查看该用户名是否已存在。如果该用户名当前不存在，则将说明该结果的消息写入控制台。如果用户存在，则调用 `deleteUser` 方法删除该用户。

```
// 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);
      }
    });
  }
});
```

要运行示例，请在命令行中键入以下内容。

```
node iam_deleteuser.js USER_NAME
```

此示例代码可在 [GitHub 上的此处](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_deleteuser.js)找到。