IAM アクセスキーの管理 - AWS SDK for JavaScript

AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表されています。AWS SDK for JavaScript v3 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

IAM アクセスキーの管理

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • ユーザーのアクセスキーを管理する方法。

シナリオ

ユーザーが SDK for JavaScript からプログラムで AWS を呼び出すには、独自のアクセスキーが必要です。このニーズを満たすために、IAM ユーザーのアクセスキー (アクセスキー ID およびシークレットアクセスキー) を作成、修正、表示、および更新できます。デフォルトでは、アクセスキーを作成したときのステータスは Active です。これは、ユーザーが API 呼び出しにそのアクセスキーを使用できることを意味します。

この例では、一連の Node.js モジュールを使用して IAM でアクセスキーを管理します。Node.js モジュールは、AWS.IAM クライアントクラスの以下のメソッドを使用してアクセスキーを管理するために SDK for JavaScript を使用します。

IAM アクセスキーの詳細については、IAM ユーザーガイドアクセスキーを参照してください。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

ユーザーのアクセスキーの作成

iam_createaccesskeys.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。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); } });

この例を実行するには、コマンドラインに次のように入力します。シークレットキーをなくさないために、返されたデータを必ずテキストファイルにパイプ処理してください。このシークレットキーは 1 回しか提供されません。

node iam_createaccesskeys.js > newuserkeys.txt

このサンプルコードは、このGitHubにあります。

ユーザーアクセスキーの一覧表示

iam_listaccesskeys.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。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 モジュールを作成します。前に示したように SDK を必ず設定します。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 モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、AWS.IAM サービスオブジェクトを作成します。アクセスキーのステータスを更新するために必要なパラメータを含む JSON オブジェクトを作成します。これにはアクセスキー ID と更新されたステータスが含まれます。このステータスは、Active または Inactive にできます。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 モジュールを作成します。前に示したように SDK を必ず設定します。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にあります。