# AWSプラグイン

{% hint style="warning" %}
Keeperシークレットマネージャーの新しいパスワードローテーション機能がリリースされました。パスワードローテーションのどのような事例でもこの新機能の使用を推奨します。詳細については以下をご参照ください。

* **Keeperシークレットマネージャーを使用した**[**パスワードローテーション**](https://docs.keeper.io/jp/keeperpam/secrets-manager/password-rotation)
  {% endhint %}

## 要件

{% stepper %}
{% step %}
**AWS CLIパッケージをインストール**

```
pip3 install boto3
```

{% endstep %}

{% step %}
**AWS CLIパッケージを設定**

必要に応じてAWS CLIをインストールします。

```
pip3 install awscli
```

AWS CLIを使用してAWS接続を設定します。

```
aws configure
```

{% hint style="info" %}
指定したユーザーのパスワードを変更するには、管理者権限を持つアカウントで環境にAWS環境を設定する必要があります。
{% endhint %}
{% endstep %}
{% endstepper %}

## ローテーション用のレコードを準備

### ローテーション用のレコードを作成

ローテーションは、従来のレコードにもタイプ指定付きレコードにも対応しています。 ローテーションの種類に応じて、その他のフィールドを追加することもできます。 以下の手順をご参照ください。

{% hint style="info" %}
従来のレコードとタイプ指定付きレコードの詳細については、[トラブルシューティング](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/troubleshooting-commander-cli/README.md#typed-vs-untyped-records-v3-vs-v2)をご参照ください。
{% endhint %}

## ローテーションタイプ

### AWSキーのローテーション

AWSキーのローテーションを実行するには、コマンダーで`rotate`コマンドを使用します。 コマンドにレコードタイトルもしくはUIDを渡します (複数のレコードを1度にローテーションさせるには、正規表現で`--match`を使用します)。

```
rotate "My AWS Credentials" --plugin awskey
```

{% hint style="info" %}
プラグインは、こちらに示すようにコマンドに指定することも、レコードのフィールドに追加することもできます (下記のオプションを参照)。\
レコードにプラグインタイプを追加すると、プラグインの異なる複数のレコードを1度にローテーションできます。
{% endhint %}

#### その他のローテーションオプション

ローテーションパラメータをカスタマイズできる値のオプションは以下のとおりです。 これらのオプションをテキストフィールドとしてレコードに追加し、表に示すように、パラメータに相当するラベルを設定します。

{% hint style="info" %}
新しいAWSローテーションレコードを簡単に作成するには、テキストタイプフィールドを定義してカスタムのレコードタイプを作成することです
{% endhint %}

<table><thead><tr><th width="221.07502628613798">ラベル</th><th width="89.14139693356049">値</th><th>コメント</th></tr></thead><tbody><tr><td>cmdr:plugin</td><td>awskey</td><td>(任意) AWSキーローテーションを使用するようにコマンダーに指示します。 <em>これは、レコードに設定するか、またはローテーションコマンドに指定する必要があります</em></td></tr><tr><td>cmdr:aws_profile</td><td></td><td>(任意) AWSにログインするために使用するAWSプロファイル</td></tr><tr><td>cmdr:aws_sync_profile</td><td></td><td>(任意) 指定すると、指定したプロファイルのAWSシークレットがAWSクレデンシャルファイルに更新されます</td></tr><tr><td>cmdr:aws_assume_role</td><td>AWS Role ARN</td><td><p>(任意) 指定すると、パスワードローテーションプラグインでこのロールを想定します。ロールには以下の3つのパラメータが必要となります。</p><p><code>iam:DeleteAccessKey iam:CreateAccessKey iam:ListAccessKeys</code></p></td></tr></tbody></table>

#### 出力

ローテーションが完了すると、アクセスキーIDとシークレットキーは、`cmdr:aws_key_id`と`cmdr:aws_key_secret`というラベルの付いたレコードのカスタムフィールドに格納されます。

そのレコードに関連付けられたKeeperユーザーまたはKeeper共有フォルダはすべて即座に更新されます。

<table><thead><tr><th width="236.05176462805645">ラベル</th><th width="466">値</th></tr></thead><tbody><tr><td>cmdr:aws_key_id</td><td>生成されたAWSアクセスキーID</td></tr><tr><td>cmdr:aws_key_secret</td><td>生成されたAWSシークレットアクセスキー</td></tr></tbody></table>

{% hint style="warning" %}
キーをローテーションする際、**「パスワード」**&#x30D5;ィールドは無視されます
{% endhint %}

### AWSパスワードのローテーション

AWSパスワードのローテーションを実行するには、コマンダーで`rotate`コマンドを使用します。 コマンドにレコードタイトルもしくはUIDを渡します (複数のレコードを1度にローテーションさせるには、正規表現で`--match`を使用します)

```
rotate "My AWS Credentials" --plugin awspswd
```

{% hint style="info" %}
プラグインは、こちらに示すようにコマンドに指定することも、レコードのフィールドに追加することもできます (下記のオプションを参照)。\
レコードにプラグインタイプを追加すると、プラグインの異なる複数のレコードを1度にローテーションできます。
{% endhint %}

#### その他のローテーションオプション

ローテーションパラメータをカスタマイズできる値のオプションは以下のとおりです。 これらのオプションをテキストフィールドとしてレコードに追加し、表に示すように、パラメータに相当するラベルを設定します。

<table data-full-width="true"><thead><tr><th width="185">名前</th><th width="104">値</th><th>コメント</th></tr></thead><tbody><tr><td>cmdr:plugin</td><td>awspswd</td><td>(任意) AWSキーローテーションを使用するようにコマンダーに指示します。 これは、レコードに設定するか、またはローテーションコマンドに指定する必要があります</td></tr><tr><td>cmdr:rules</td><td></td><td>(任意) <a href="https://github.com/Keeper-Security/Commander/tree/master/keepercommander/plugins/password_rules.md">パスワードの複雑度ルール</a></td></tr><tr><td>cmdr:aws_profile</td><td></td><td>(任意) AWSにログインするために使用するAWSプロファイル</td></tr></tbody></table>

#### 出力

Keeperのレコードの`Password`フィールドに、AWSアカウントの新しいパスワードが格納されます。
