AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
IAM アクセスキーの管理
この Node.js コード例は以下を示しています。
ユーザーのアクセスキーを管理する方法。
シナリオ
ユーザーが SDK for JavaScript からプログラムで AWS を呼び出すには、独自のアクセスキーが必要です。このニーズを満たすために、IAM ユーザーのアクセスキー (アクセスキー ID およびシークレットアクセスキー) を作成、修正、表示、および更新できます。デフォルトでは、アクセスキーを作成したときのステータスは Active
です。これは、ユーザーが API 呼び出しにそのアクセスキーを使用できることを意味します。
この例では、一連の Node.js モジュールを使用して IAM でアクセスキーを管理します。Node.js モジュールは、AWS.IAM
クライアントクラスの以下のメソッドを使用してアクセスキーを管理するために SDK for JavaScript を使用します。
IAM アクセスキーの詳細については、IAM ユーザーガイドのアクセスキーを参照してください。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
Node.js をインストールします。Node.js をインストールする方法の詳細については、Node.js ウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
ユーザーのアクセスキーの作成
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