

AWS SDK for JavaScript v2 はサポート終了となりました。[AWS SDK for JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) に移行することをお勧めします。その他の詳細、移行方法については、こちらの[発表内容](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)を参照してください。

# IAM アクセスキーの管理
<a name="iam-examples-managing-access-keys"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**この Node.js コード例は以下を示しています。**
+ ユーザーのアクセスキーを管理する方法。

## シナリオ
<a name="iam-examples-managing-access-keys-scenario"></a>

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

この例では、一連の Node.js モジュールを使用して IAM でアクセスキーを管理します。Node.js モジュールは、`AWS.IAM` クライアントクラスの以下のメソッドを使用してアクセスキーを管理するために SDK for JavaScript を使用します。
+ [createAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#createAccessKey-property)
+ [listAccessKeys](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#listAccessKeys-property)
+ [getAccessKeyLastUsed](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#getAccessKeyLastUsed-property)
+ [updateAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#updateAccessKey-property)
+ [deleteAccessKey](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/IAM.html#deleteAccessKey-property)

IAM アクセスキーの詳細については、*IAM ユーザーガイド*の[アクセスキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)を参照してください。

## 前提条件タスク
<a name="iam-examples-managing-access-keys-prerequisites"></a>

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
+ Node.js をインストールします。Node.js をインストールする方法の詳細については、[Node.js ウェブサイト](https://nodejs.org)を参照してください。
+ ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、[共有認証情報ファイルから Node.js に認証情報をロードする](loading-node-credentials-shared.md) を参照してください。

## ユーザーのアクセスキーの作成
<a name="iam-examples-managing-access-keys-creating"></a>

`iam_createaccesskeys.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、`AWS.IAM` サービスオブジェクトを作成します。新しいアクセスキーを作成するために必要なパラメータを含む JSON オブジェクトを作成します。これには、IAM ユーザーの名前が含まれています。`createAccessKey` サービスオブジェクトの `AWS.IAM` メソッドを呼び出します。

```
// 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_createaccesskeys.js)にあります。

## ユーザーアクセスキーの一覧表示
<a name="iam-examples-managing-access-keys-listing"></a>

`iam_listaccesskeys.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、`AWS.IAM` サービスオブジェクトを作成します。ユーザーのアクセスキーを取得するために必要なパラメータを含む JSON オブジェクトを作成します。これには、IAM ユーザーの名前と、必要に応じて一覧表示するアクセスキーペアの最大数が含まれます。`listAccessKeys` サービスオブジェクトの `AWS.IAM` メソッドを呼び出します。

```
// 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_listaccesskeys.js)にあります。

## アクセスキーが最後に使用された日付を取得する
<a name="iam-examples-managing-access-keys-last-used"></a>

`iam_accesskeylastused.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、`AWS.IAM` サービスオブジェクトを作成します。新しいアクセスキーを作成するために必要なパラメータを含む JSON オブジェクトを作成します。これは最後に使用した情報を必要とするアクセスキー ID です。`getAccessKeyLastUsed` サービスオブジェクトの `AWS.IAM` メソッドを呼び出します。

```
// 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_accesskeylastused.js)にあります。

## アクセスキーステータスの更新
<a name="iam-examples-managing-access-keys-updating"></a>

`iam_updateaccesskey.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、`AWS.IAM` サービスオブジェクトを作成します。アクセスキーのステータスを更新するために必要なパラメータを含む JSON オブジェクトを作成します。これにはアクセスキー ID と更新されたステータスが含まれます。このステータスは、`Active` または `Inactive` にできます。`updateAccessKey` サービスオブジェクトの `AWS.IAM` メソッドを呼び出します。

```
// 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_updateaccesskey.js)にあります。

## アクセスキーの削除
<a name="iam-examples-managing-access-keys-deleting"></a>

`iam_deleteaccesskey.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。IAM にアクセスするには、`AWS.IAM` サービスオブジェクトを作成します。アクセスキーを削除するために必要なパラメータを含む JSON オブジェクトを作成します。これにはアクセスキー ID とユーザーの名前が含まれます。`deleteAccessKey` サービスオブジェクトの `AWS.IAM` メソッドを呼び出します。

```
// 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/iam/iam_deleteaccesskey.js)にあります。