管理 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 代码示例演示:

  • 如何管理您的用户的访问密钥。

情景

用户需要自己的访问密钥从 SDK for JavaScript 以编程方式调用 Amazon。要满足这一需要,您可以创建、修改、查看或轮换 IAM 用户的访问密钥 (访问密钥 ID 和秘密访问密钥)。默认情况下,当您创建访问密钥时,其状态为 Active,这意味着用户可使用该访问密钥执行 API 调用。

本示例使用一系列 Node.js 模块在 IAM 中管理访问密钥。这些 Node.js 模块使用 SDK for JavaScript,通过 AWS.IAM 客户端类的以下方法来管理 IAM 访问密钥:

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

先决条件任务

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

为用户创建访问密钥

创建文件名为 iam_createaccesskeys.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含创建新访问密钥时所需参数的 JSON 对象,其中包括 IAM 用户的名称。调用 AWS.IAM 服务对象的 createAccessKey 方法。

// 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" }); iam.createAccessKey({ UserName: "IAM_USER_NAME" }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.AccessKey); } });

要运行示例,请在命令行中键入以下内容。确保将返回的数据通过管道传输到文本文件中,以免丢失私有密钥,该密钥只能提供一次。

node iam_createaccesskeys.js > newuserkeys.txt

此示例代码可在 GitHub 上的此处找到。

列出用户的访问密钥

创建文件名为 iam_listaccesskeys.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含检索用户访问密钥时所需参数的 JSON 对象,其中包括 IAM 用户的名称以及您希望列出的最大访问密钥对数(可选)。调用 AWS.IAM 服务对象的 listAccessKeys 方法。

// 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: 5, UserName: "IAM_USER_NAME", }; iam.listAccessKeys(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node iam_listaccesskeys.js

此示例代码可在 GitHub 上的此处找到。

获取访问密钥的最后一次使用

创建文件名为 iam_accesskeylastused.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含创建新访问密钥时所需参数的 JSON 对象,这是您希望获得最后一次使用信息的访问密钥 ID。调用 AWS.IAM 服务对象的 getAccessKeyLastUsed 方法。

// 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" }); iam.getAccessKeyLastUsed( { AccessKeyId: "ACCESS_KEY_ID" }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.AccessKeyLastUsed); } } );

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

node iam_accesskeylastused.js

此示例代码可在 GitHub 上的此处找到。

更新访问密钥状态

创建文件名为 iam_updateaccesskey.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含更新访问密钥状态时所需参数的 JSON 对象,其中包括访问密钥 ID 和更新后的状态。状态可以为 ActiveInactive。调用 AWS.IAM 服务对象的 updateAccessKey 方法。

// 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 = { AccessKeyId: "ACCESS_KEY_ID", Status: "Active", UserName: "USER_NAME", }; iam.updateAccessKey(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node iam_updateaccesskey.js

此示例代码可在 GitHub 上的此处找到。

删除访问密钥

创建文件名为 iam_deleteaccesskey.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 IAM,请创建 AWS.IAM 服务对象。创建一个包含删除访问密钥时所需参数的 JSON 对象,其中包括访问密钥 ID 和用户的名称。调用 AWS.IAM 服务对象的 deleteAccessKey 方法。

// 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 = { AccessKeyId: "ACCESS_KEY_ID", UserName: "USER_NAME", }; iam.deleteAccessKey(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node iam_deleteaccesskey.js

此示例代码可在 GitHub 上的此处找到。