AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
IAM ユーザーの管理
この Node.js コード例は以下を示しています。
IAM ユーザーのリストを取得する方法。
ユーザーを作成および削除する方法。
ユーザー名を更新する方法。
シナリオ
この例では、一連の Node.js モジュールを使用して IAM のユーザーを作成および管理します。Node.js モジュールは SDK for JavaScript を使用し、AWS.IAM
クライアントクラスの以下のメソッドを使用してユーザーの作成、削除、および更新を行います。
IAM ユーザーについての詳細は、IAM ユーザーガイドの IAM ユーザーを参照してください。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
Node.js をインストールします。Node.js をインストールする方法の詳細については、Node.js ウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
ユーザーの作成
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