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 コード例は以下を示しています。

  • IAM ユーザーのリストを取得する方法。

  • ユーザーを作成および削除する方法。

  • ユーザー名を更新する方法。

シナリオ

この例では、一連の Node.js モジュールを使用して IAM のユーザーを作成および管理します。Node.js モジュールは SDK for JavaScript を使用し、AWS.IAM クライアントクラスの以下のメソッドを使用してユーザーの作成、削除、および更新を行います。

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

前提条件タスク

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

ユーザーの作成

iam_createuser.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、AWS.IAM サービスオブジェクトを作成します。必要なパラメータを含む JSON オブジェクトを作成します。これは、新しいユーザーでコマンドラインパラメータとして使用するユーザー名で構成されています。

AWS.IAM サービスオブジェクトの getUser メソッドを呼び出して、ユーザー名が既に存在しているかどうかを確認します。ユーザー名が存在しない場合は、createUser メソッドを呼び出して作成します。名前が既に存在している場合は、そのことを示すメッセージをコンソールに書き込みます。

// 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 = { UserName: process.argv[2], }; iam.getUser(params, function (err, data) { if (err && err.code === "NoSuchEntity") { iam.createUser(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } }); } else { console.log( "User " + process.argv[2] + " already exists", data.User.UserId ); } });

この例を実行するには、コマンドラインに次のように入力します。

node iam_createuser.js USER_NAME

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

アカウントのユーザーの一覧表示

iam_listusers.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、AWS.IAM サービスオブジェクトを作成します。ユーザーの一覧表示に必要なパラメータを含む JSON オブジェクトを作成し、MaxItems パラメータを 10 に設定して返される数を制限します。AWS.IAM サービスオブジェクトの listUsers メソッドを呼び出します。最初のユーザー名と作成日をコンソールに書き込みます。

// 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: 10, }; iam.listUsers(params, function (err, data) { if (err) { console.log("Error", err); } else { var users = data.Users || []; users.forEach(function (user) { console.log("User " + user.UserName + " created", user.CreateDate); }); } });

この例を実行するには、コマンドラインに次のように入力します。

node iam_listusers.js

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

ユーザー名の更新

iam_updateuser.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、AWS.IAM サービスオブジェクトを作成します。現在のユーザー名と新しいユーザー名をコマンドラインパラメータとして指定して、ユーザーの一覧表示に必要なパラメータを含む JSON オブジェクトを作成します。AWS.IAM サービスオブジェクトの updateUser メソッドを呼び出します。

// 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 = { UserName: process.argv[2], NewUserName: process.argv[3], }; iam.updateUser(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

この例を実行するには、コマンドラインで次のコマンドを入力し、現在のユーザー名に続けて新しいユーザー名を指定します。

node iam_updateuser.js ORIGINAL_USERNAME NEW_USERNAME

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

ユーザーの削除

iam_deleteuser.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、AWS.IAM サービスオブジェクトを作成します。必要なパラメータを含む JSON オブジェクトを作成します。これは、コマンドラインパラメータとして削除するユーザー名で構成されています。

AWS.IAM サービスオブジェクトの getUser メソッドを呼び出して、ユーザー名が既に存在しているかどうかを確認します。ユーザー名が存在していない場合は、そのことを示すメッセージをコンソールに書き込みます。ユーザーが存在する場合は、deleteUser メソッドを呼び出して削除します。

// 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 = { UserName: process.argv[2], }; iam.getUser(params, function (err, data) { if (err && err.code === "NoSuchEntity") { console.log("User " + process.argv[2] + " does not exist."); } else { iam.deleteUser(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } }); } });

この例を実行するには、コマンドラインに次のように入力します。

node iam_deleteuser.js USER_NAME

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