管理 IAM 存取金鑰 - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理 IAM 存取金鑰

JavaScript code example that applies to Node.js execution

這個 Node.js 程式碼範例會說明:

  • 如何管理使用者存取金鑰。

使用案例

使用者需要自己的存取金鑰,才能AWS從 SDK 進行程式設計呼叫。 JavaScript為了滿足這個需求,您可以為 IAM 使用者建立、修改、查看或輪換存取金鑰 (存取金鑰 ID 和私密存取金鑰)。在預設情況下,當您建立存取金鑰時,其狀態會是 Active,這表示使用者可以透過存取金鑰進行 API 呼叫。

在此範例中,IAM 中會使用一系列 Node.js 模組來管理存取金鑰。Node.js 模組使用的開發套件,使用用AWS.IAM戶端類別的下列方法 JavaScript 來管理 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。