管理 IAM 用户 - AWS SDK for JavaScript

我们已宣布即将终止对 AWS SDK for JavaScript v2 的支持。建议您迁移到 AWS SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

管理 IAM 用户

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索 IAM 用户列表。

  • 如何创建和删除用户。

  • 如何更新用户名。

情景

本示例使用一系列 Node.js 模块在 IAM 中创建和管理用户。这些 Node.js 模块使用 SDK for JavaScript,通过 AWS.IAM 客户端类的以下方法创建、删除和更新用户:

有关 IAM 用户的更多信息,请参阅《IAM 用户指南》中的 IAM 用户

先决条件任务

要设置和运行此示例,您必须先完成以下任务:

创建用户

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

调用 AWS.IAM 服务对象的 getUser 方法,查看该用户名是否已存在。如果用户名称当前不存在,请调用 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 上的此处找到。

列出您的账户中的用户

创建文件名为 iam_listusers.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含列出用户时所需参数的 JSON 对象,通过将 MaxItems 参数设置为 10 来限制返回的数量。调用 AWS.IAM 服务对象的 listUsers 方法。将第一个用户的名称和创建日期写入控制台。

// 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 上的此处找到。

更新用户名

创建文件名为 iam_updateuser.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含列出用户时所需参数的 JSON 对象,并将当前用户名和新用户名都指定为命令行参数。调用 AWS.IAM 服务对象的 updateUser 方法。

// 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 上的此处找到。

删除用户

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

调用 AWS.IAM 服务对象的 getUser 方法,查看该用户名是否已存在。如果该用户名当前不存在,则将说明该结果的消息写入控制台。如果用户存在,则调用 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 上的此处找到。