管理 IAM 用户 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们已宣布即将终止对 Amazon SDK for JavaScript v2 的支持。建议您迁移到 Amazon 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 上的此处找到。