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

Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3) 的所有 API 操作。

从 2022 年 10 月 1 日起,Amazon SDK for JavaScript(v3) 将终止对 Internet Explorer 11(IE 11)的支持。有关详细信息,请参阅 Amazon SDK for JavaScript(v3) 中宣布终止对 Internet Explorer 11 的支持

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 IAM 用户

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索 IAM 用户的列表。

  • 如何创建和删除用户。

  • 如何更新用户名。

场景

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

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

先决条件任务

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

  • 设置项目环境来运行这些节点 TypeScript 示例,然后安装所需的Amazon SDK for JavaScript和第三方模块。按照上的说明进行操作GitHub.

  • 使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证

重要

这些示例演示如何使用 ecmasCript6 (ES6) 导入/导出客户端服务对象和命令。

  • 这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅Node.js.

  • 如果您希望使用 ComonJS 语法,请参阅JavaScript ES6/常用JS 语法.

创建用户

创建libs目录,并创建文件名为的 Node.js 模块模块iamClient.js. 将以下代码复制并粘贴到其中,这将创建 IAM 客户端对象。Replace领域和您的Amazon区域。

import { IAMClient } from "@aws-sdk/client-iam"; // Set the AWS Region. const REGION = "REGION"; // For example, "us-east-1". // Create an IAM service client object. const iamClient = new IAMClient({ region: REGION }); export { iamClient };

此示例可以在中找到。此处 GitHub.

创建文件名为 iam_createuser.js 的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需的客户端和软件包。创建一个包含所需参数的 JSON 对象,该对象包含要用于新用户的用户名作为命令行参数。

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

注意

ReplaceUSER_NAME使用要创建的用户名。

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { GetUserCommand, CreateUserCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { UserName: "USER_NAME" }; //USER_NAME export const run = async () => { try { const data = await iamClient.send(new GetUserCommand(params)); console.log( "User " + "USER_NAME" + " already exists", data.User.UserId ); return data; } catch (err) { try { const results = await iamClient.send(new CreateUserCommand(params)); console.log("Success", results); return results; } catch (err) { console.log("Error", err); } } }; run();

要运行示例,请在命令提示符下输入以下内容。

node iam_createuser.js

此示例可以在中找到。此处 GitHub.

列出您的账户中的用户

创建libs目录,并创建文件名为的 Node.js 模块模块iamClient.js. 将以下代码复制并粘贴到其中,这将创建 IAM 客户端对象。Replace领域和您的Amazon区域。

import { IAMClient } from "@aws-sdk/client-iam"; // Set the AWS Region. const REGION = "REGION"; // For example, "us-east-1". // Create an IAM service client object. const iamClient = new IAMClient({ region: REGION }); export { iamClient };

此示例可以在中找到。此处 GitHub.

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

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { ListUsersCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { MaxItems: 10 }; export const run = async () => { try { const data = await iamClient.send(new ListUsersCommand(params)); return data; const users = data.Users || []; users.forEach(function (user) { console.log("User " + user.UserName + " created", user.CreateDate); }); } catch (err) { console.log("Error", err); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node iam_listusers.js

此示例可以在中找到。此处 GitHub.

更新用户的名称

创建libs目录,并创建文件名为的 Node.js 模块模块iamClient.js. 将以下代码复制并粘贴到其中,这将创建 IAM 客户端对象。Replace领域和您的Amazon区域。

import { IAMClient } from "@aws-sdk/client-iam"; // Set the AWS Region. const REGION = "REGION"; // For example, "us-east-1". // Create an IAM service client object. const iamClient = new IAMClient({ region: REGION }); export { iamClient };

此示例可以在中找到。此处 GitHub.

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

注意

ReplaceORIGNAL_USER_NAME使用要更新的用户名,以及NEW_USER_NAME使用新用户名。

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { UpdateUserCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { UserName: "ORIGINAL_USER_NAME", //ORIGINAL_USER_NAME NewUserName: "NEW_USER_NAME", //NEW_USER_NAME }; export const run = async () => { try { const data = await iamClient.send(new UpdateUserCommand(params)); console.log("Success, username updated"); return data; } catch (err) { console.log("Error", err); } }; run();

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

node iam_updateuser.js

此示例可以在中找到。此处 GitHub.

删除用户

创建libs目录,并创建文件名为的 Node.js 模块模块iamClient.js. 将以下代码复制并粘贴到其中,这将创建 IAM 客户端对象。Replace领域和您的Amazon区域。

import { IAMClient } from "@aws-sdk/client-iam"; // Set the AWS Region. const REGION = "REGION"; // For example, "us-east-1". // Create an IAM service client object. const iamClient = new IAMClient({ region: REGION }); export { iamClient };

此示例可以在中找到。此处 GitHub.

创建文件名为 iam_deleteuser.js 的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需的客户端和软件包。创建一个包含所需参数的 JSON 对象,该对象包含要删除的用户名作为命令行参数。

调用GetUserCommand方法的IAM客户端服务对象,查看该用户名是否已存在。如果该用户名当前不存在,则将说明该结果的消息写入控制台。如果用户存在,则调用 DeleteUserCommand 方法删除该用户。

注意

ReplaceUSER_NAME使用要删除的用户的名称。

// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { DeleteUserCommand, GetUserCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { UserName: "USER_NAME" }; //USER_NAME export const run = async () => { try { const data = await iamClient.send(new GetUserCommand(params)); return data; try { const results = await iamClient.send(new DeleteUserCommand(params)); console.log("Success", results); return results; } catch (err) { console.log("Error", err); } } catch (err) { console.log("User " + "USER_NAME" + " does not exist."); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node iam_deleteuser.js

此示例可以在中找到。此处 GitHub.