帮助我们改进Amazon SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub
这些区域有:Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 IAM 访问密钥
此 Node.js 代码示例演示:
如何管理您的用户的访问密钥。
场景
用户需要自己的访问密钥以编程方式调用Amazon来自适用于 JavaScript 的开发工具包。要满足这一需要,您可以创建、修改、查看或轮换 IAM 用户的访问密钥 (访问密钥 ID 和秘密访问密钥)。默认情况下,当您创建访问密钥时,其状态为 Active
,这意味着用户可使用该访问密钥执行 API 调用。
在本示例中,使用一系列 Node.js 模块在 IAM 中管理访问密钥。Node.js 模块使用适用于 JavaScript 的开发工具包,通过以下方法来管理 IAM 访问密钥。IAM
客户端类:
有关 IAM 访问密钥的更多信息,请参阅访问密钥中的IAM 用户指南.
先决条件任
要设置和运行此示例,您必须先完成以下任务:
-
设置项目环境以运行这些 Node TypeScript 示例,然后安装所需的Amazon SDK for JavaScript以及第三方模块。按照中的说明操作GitHub
. -
使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证。
这些示例演示了如何使用 ECMASCRIPT6 (ES6) 导入/导出客户端服务对象和命令。
这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅Node.js 下载。
. 如果您希望使用 CommonJS 语法,请参阅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_createaccesskeys.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需客户端和软件包。创建一个包含创建新访问密钥时所需参数的 JSON 对象,其中包括 IAM 用户的名称。调用CreateAccessKeyCommand
的方法IAM
客户端服务对象。
ReplaceIAM_USER_NAME
使用 IAM 用户名称。
// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { CreateAccessKeyCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = {UserName: "IAM_USER_NAME"}; //IAM_USER_NAME export const run = async () => { try { const data = await iamClient.send(new CreateAccessKeyCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。确保将返回的数据通过管道传输到文本文件中,以免丢失私有密钥,该密钥只能提供一次。
node iam_createaccesskeys.js >
newuserkeysV3.txt
可以找到此示例代码在 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_listaccesskeys.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需客户端和软件包。创建一个 JSON 对象,其中包含检索用户访问密钥时所需参数,该对象包括 IAM 用户的名称以及列出的最大访问密钥对数。调用ListAccessKeysCommand
的方法IAM
客户端服务对象。
ReplaceIAM_USER_NAME
使用 IAM 用户名称。
// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { ListAccessKeysCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { MaxItems: 5, UserName: "IAM_USER_NAME", //IAM_USER_NAME }; export const run = async () => { try { const data = await iamClient.send(new ListAccessKeysCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node iam_listaccesskeys.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_accesskeylastused.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需客户端和软件包。创建一个包含创建新访问密钥时所需参数的 JSON 对象,该对象是最后一次使用信息的访问密钥 ID。调用 IAM
服务对象的 GetAccessKeyLastUsedCommand
方法。
ReplaceACCESS_KEY_ID
具有最后一次使用信息的访问密钥 ID。
// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { GetAccessKeyLastUsedCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { AccessKeyId: "ACCESS_KEY_ID" }; //ACCESS_KEY_ID export const run = async () => { try { const data = await iamClient.send(new GetAccessKeyLastUsedCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node iam_accesskeylastused.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_updateaccesskey.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需的客户端和软件包。创建一个包含更新访问密钥状态时所需参数的 JSON 对象,其中包括访问密钥 ID 和更新后的状态。状态可以为 Active
或 Inactive
。调用updateAccessKey
方法IAM
客户端服务对象。
ReplaceACCESS_KEY_ID
访问密钥 ID 和更新状态,以及USER_NAME
包含用户的名称。
// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { UpdateAccessKeyCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { AccessKeyId: "ACCESS_KEY_ID", //ACCESS_KEY_ID Status: "Active", UserName: "USER_NAME", //USER_NAME }; export const run = async () => { try { const data = await iamClient.send(new UpdateAccessKeyCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node iam_updateaccesskey.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_deleteaccesskey.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括下载所需的客户端和软件包。创建一个包含删除访问密钥时所需参数的 JSON 对象,其中包括访问密钥 ID 和用户的名称。调用DeleteAccessKeyCommand
方法IAM
客户端服务对象。
ReplaceACCESS_KEY_ID
使用您的访问密钥 ID,USER_NAME
使用用户名。
// Import required AWS SDK clients and commands for Node.js. import { iamClient } from "./libs/iamClient.js"; import { DeleteAccessKeyCommand } from "@aws-sdk/client-iam"; // Set the parameters. export const params = { AccessKeyId: "ACCESS_KEY_ID", // ACCESS_KEY_ID UserName: "USER_NAME", // USER_NAME }; export const run = async () => { try { const data = await iamClient.send(new DeleteAccessKeyCommand(params)); console.log("Success", data); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node iam_deleteaccesskey.js
可以找到这个示例代码在 GitHub 上)