# EC2仮想マシンユーザー

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fr1uC836M3e2KRNMDWwcJ%2Fimage.png?alt=media&#x26;token=be4b7916-7a40-462c-ae2d-f59a220ba76b" alt=""><figcaption></figcaption></figure>

本ページでは、Keeperローテーションを使用してAWS環境内でAWS EC2仮想マシン (VM) アカウントをローテーションする方法について取り扱います。EC2 VMはAWSが管理するリソースで、EC2 VM管理者の認証情報はPAMマシンレコードにリンクされ、EC2 VMユーザーの識別はPAMユーザーレコードタイプで定義されます。

EC2 VMアカウントの場合、通常のオペレーティングシステムコマンドを使用してパスワードを変更します。Keeperは対象のマシンに接続し、コマンドラインコマンドを送信してパスワードを変更します。

## 要件

以下がすでに実行されていることを前提としています。

* [ロール](/jp/keeperpam/privileged-access-manager/password-rotation/rotation-overview.md)に対してKeeperシークレットマネージャー有効になっていること。
* Keeperローテーションがご利用の[ロール](/jp/keeperpam/privileged-access-manager/password-rotation/rotation-overview.md)に対して有効になっていること。
* Keeperシークレットマネージャー[アプリケーション](/jp/keeperpam/privileged-access-manager/references/creating-ksm-app-for-rotation.md)が作成済みであること。
* Keeperローテーション[ゲートウェイ](/jp/keeperpam/privileged-access-manager/getting-started/gateways.md)がすでにインストールされて動作しており、[SSH](/jp/keeperpam/privileged-access-manager/references/setting-up-ssh.md)か[WinRM](/jp/keeperpam/privileged-access-manager/references/setting-up-winrm.md)を介して対象のAWS仮装マシンと通信できること。
* AWS環境がKeeperのドキュメントに従って[設定](/jp/keeperpam/privileged-access-manager/getting-started/pam-configuration/aws-environment-setup.md)されていること。

## 1. PAMマシンレコードを設定

ゲートウェイマシンまたはネットワーク上の他のマシンのローカルユーザーアカウントをローテーションできます。**PAMマシン**レコードは、それぞれのマシンに対して作成する必要があります。このPAMマシンレコードには、マシン上のユーザーのパスワードを変更する権限を持つ管理用認証情報がリンクされている必要があります。

それぞれのマシンに対して**PAMマシン**レコードを作成した後、ローテーションされるローカルユーザーアカウントごとに**PAMユーザー**レコードを作成する必要があります。

指定された管理者認証情報を使用して、AWS環境のAWS仮想マシンユーザーのパスワードまたはSSH鍵をローテーションします。これらの管理者認証情報には、ユーザーアカウントの認証情報を正常に変更するために十分な権限が必要です。

PAMマシンレコードのローテーションを実行する際に、そのマシンがKeeperゲートウェイを実行している場合、Keeperは`keeper-gw`ユーザーを使用してアカウントのパスワードまたはSSHキーをローテーションしようとします。`keeper-gw`にsudo権限がある場合、ローカルのゲートウェイマシン上でローテーションを実行できます。

以下は、**PAMマシン**レコードの**必須**フィールドとなります。

<table><thead><tr><th width="267.3400248344371">フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>レコードの名前 (<code>AWS Linux 1</code>など)</td></tr><tr><td><strong>ホスト名またはIPアドレス</strong></td><td>ゲートウェイがアクセスするマシンのホスト名またはIP</td></tr><tr><td><strong>ポート</strong></td><td>通常、WinRMでは5985または5986、SSHでは22</td></tr><tr><td><strong>管理者認証情報</strong></td><td>リンクされたPAMユーザーレコードには、管理者アカウントのユーザー名とパスワード (またはSSH鍵) が含まれています。</td></tr><tr><td><strong>オペレーティングシステム</strong></td><td>VMのオペレーティングシステム (<code>Windows</code>または<code>Linux</code>)</td></tr><tr><td><strong>SSL検証</strong></td><td>WinRMの場合、選択するとSSLモードポート5986が使用されます。SSHでは無視されます。</td></tr></tbody></table>

このPAMマシンレコードとリンクされた管理者認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダ内に配置する必要があります。この特権アカウントへのアクセスはKSMアプリケーションのみに許可され、ユーザーと共有する必要はありません。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FptEuzeIxhEXa6Smg0oQT%2Fimage.png?alt=media&#x26;token=a610d4c1-14de-4172-be6d-8e994a3a9076" alt=""><figcaption><p>PAMマシンレコード</p></figcaption></figure>

## 2. PAM構成を設定 <a href="#managed-directory-services" id="managed-directory-services"></a>

注: 環境に対して既にPAM構成を設定済みの場合は、この手順を省略できます。

先に以下を完了しておきます。

* Keeperシークレットマネージャー[アプリケーション](/jp/keeperpam/secrets-manager/quick-start-guide.md#create-a-secrets-manager-application)が作成済みであること
* Keeper Rotation[ゲートウェイ](https://docs.keeper.io/keeperpam/privileged-access-manager/getting-started/gateways)がすでにインストールされて動作しており、作成したKeeperシークレットマネージャーアプリケーションでプロビジョニングされていること。
* 対象のマシンごとにPAMマシンレコードが作成されていること

新しいPAM設定を作成する場合は、Keeperボルトにログインし、左側のメニューから **\[シークレットマネージャー]**、**\[PAM構成]** タブの順に選択して、**\[新規構成]** をクリックします。\
\
以下は、**PAM構成**の必須フィールドとなります。

<table><thead><tr><th width="252.87097477791878">フィールド</th><th>説明</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>構成名 (<code>AWS VM Configuration</code>など)</td><td></td></tr><tr><td><strong>環境</strong></td><td><code>AWS</code>を選択</td><td></td></tr><tr><td><strong>ゲートウェイ</strong></td><td>Keeperシークレットマネージャーアプリケーションで構成され、手順1で設定したマシンにネットワークでアクセスできるゲートウェイを選択します。</td><td></td></tr><tr><td><strong>アプリケーションフォルダ</strong></td><td>PAM構成が保存される共有フォルダを選択してください。PAM構成はマシンではなく、管理者アカウントに関連付けられた共有フォルダに配置することをお勧めします。</td><td></td></tr><tr><td><strong>AWS ID</strong></td><td>このAWSのインスタンス固有のID。参考用のため任意のIDを指定できますが、短くすることをお勧めします。<br>例: <code>AWS-1</code></td><td></td></tr><tr><td><strong>アクセスキーID</strong></td><td>EC2ロールポリシー (デフォルト) を使用している場合は、このフィールドを<code>USE_INSTANCE_ROLE</code>に設定します。使用していない場合は、特定のアクセスキーIDを使用します。</td><td></td></tr><tr><td><strong>シークレットアクセスキー</strong></td><td>EC2ロールポリシー (デフォルト) を使用している場合は、このフィールドを<code>USE_INSTANCE_ROLE</code>に設定します。使用していない場合は、特定のシークレットアクセスキーを使用します。</td><td></td></tr></tbody></table>

PAM構成レコードで構成できるすべてのフィールドの詳細については、[こちらのページ](/jp/keeperpam/privileged-access-manager/getting-started/pam-configuration.md)をご参照ください。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FsB7Hf5VlTI6pZ6RASqvi%2Fimage.png?alt=media&#x26;token=9b75ee8f-f720-4188-8be5-a62ef59f5f46" alt=""><figcaption><p>AWS向けPAM構成</p></figcaption></figure>

## 3. PAMユーザーレコードをセットアップ

Keeperでは、**PAMマシン**レコードの認証情報を使用して、AWS環境の**PAMユーザー**レコードをローテーションします。PAMユーザーの認証情報は、要件で作成したKSMアプリケーションに共有されている共有フォルダに格納されている必要があります。

以下は、**PAMユーザー**レコードの必須フィールドとなります。

<table><thead><tr><th width="169.86929716399504">フィールド</th><th>説明</th></tr></thead><tbody><tr><td><strong>タイトル</strong></td><td>Keeperレコードのタイトル (<code>AWS Machine1 ec2-user</code>など)</td></tr><tr><td><strong>ログイン</strong></td><td>ローテーションするユーザーアカウントのユーザー名 (大文字と小文字の区別あり)。 <code>ec2-user</code>など。</td></tr><tr><td><strong>パスワード</strong></td><td>ユーザーがパスワードを使用してログインする場合にのみ必要です。パスワードが空白のままの場合、ローテーションを実行するとパスワードが設定されます。</td></tr><tr><td><strong>PEM秘密鍵</strong></td><td>パスワードをローテーションする代わりにPEM鍵をローテーションする場合にのみ必要となります。</td></tr></tbody></table>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FW5YuUN1X10vd8VId2wE5%2Fimage.png?alt=media&#x26;token=8f86187c-c1b1-473a-bab1-b1d3349b6575" alt=""><figcaption><p>Linux PAMユーザーレコード</p></figcaption></figure>

## 4. レコードでローテーションを構成

手順3の**PAMユーザー**レコードを選択し、編集して **\[パスワードローテーション設定]** を開きます。

* 適切なスケジュールとパスワードの複雑さを選択します。
* **\[ローテーション設定]** では、以前に設定した**PAM構成**を使用する必要があります。
* **\[リソースクレデンシャル]** フィールドで、手順1で設定された**PAMデータベース**認証情報を選択する必要があります。
* 保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールに基づいてローテーションできるようになります。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FcaQRarrZ7kNnUY5NUMNB%2Fimage.png?alt=media&#x26;token=54cc0119-981b-40d3-bfd8-02faa69e89a4" alt=""><figcaption><p>AWSインスタンスユーザーのパスワードローテーション設定</p></figcaption></figure>

PAMユーザーのレコードに対する`edit`権限を持つユーザーならだれでも、そのレコードのローテーションを設定できます。

## SSHキーのローテーションに関する注意事項

対象のマシンまたはユーザーでPEM秘密鍵認証情報をローテーションする際、マシンのauthorized\_keysファイルを新しい公開鍵に変更します。ローテーションの初回には、システムにアクセスできなくなることのないように、古い公開鍵がそのまま残されます。ファイルに追加された2番目の公開鍵には、以下のように以後のローテーションの識別子として機能する旨コメントが付加されます。

```
[ec2-user@host .ssh]$ cat authorized_keys
ssh-rsa AAAAB3NzaC1...11xZrfOxYXG6RV84mCZ3uldesEyV/ghLxAb7Fcz awsdemo
ssh-rsa AAAAB3NzaC...un+frl9Q== keeper-security-ec2user
```

デフォルトでは、`.ssh/authorized_keys`ファイルから他のキーは削除されません。これは、一部プロバイダが仮想マシンを制御するために自分のキーを配置するためです (Google Cloud Providerなど)。

最初のローテーションが成功すると、オプションで`authorized_keys`ファイル内の古い公開鍵エントリを削除できます。それ以降のローテーションでは、「keeper-security-xxx」というコメントが含まれている行が更新されます。

ローテーションは、以前の`.ssh/authorized_keys`のバックアップも`.ssh`ディレクトリ内に作成します。

プライベートキーのローテーションでは、新しいプライベートキーは現在のプライベートキーと同じアルゴリズムおよびキーサイズ (ビット) になります。たとえば、現在のプライベートキーが`ecdsa-sha2-nistp256`の場合、新しいプライベートキーも`ecdsa-sha2-nistp256`になります。これを上書きするには、カスタムテキストフィールド (ラベル: Private Key Type) を追加し、以下の対応しているアルゴリズムのいずれかに値を設定します。

* `ssh-rsa` - 4096ビット
* `ecdsa-sha2-nistp256` - ECDSA、256ビット
* `ecdsa-sha2-nistp384` - ECDSA、384ビット
* `ecdsa-sha2-nistp521` - ECDSA、521ビット
* `ssh-ed25519`

このカスタムフィールドは、現在のプライベートキーのアルゴリズムが検出できない場合にも使用できます。

プライベートキーのローテーションを防ぐには、PAMユーザーのレコードに`Private Key Rotate`というラベルのカスタムテキストフィールドを追加します。フィールドの値がTRUEの場合、またはフィールドが存在しない場合は、プライベートキーが存在すればローテーションされます。値がFALSEの場合、プライベートキーはローテーションされません。

Linuxユーザーのローテーションでは、パスワードで暗号化されたPEMファイルは現在サポートされていません。

## 管理者認証情報 – SSHキーのみのアカウントについて

マシンリソースの管理者認証情報として、パスワードを持たず秘密鍵 (PEM形式) のみを使用するPAMユーザーを構成する場合、このアカウントがパスワードローテーションなど、すべての管理操作を実行します。

この構成では、該当の管理者アカウントがパスワードの入力なしにsudo操作を実行できる必要があります。

もしsudoコマンドの実行時にパスワードの入力が求められる設定になっていると、そのリソース上の非管理者アカウントに対するローテーションは失敗します (管理者アカウントがパスワードを持たないためです)。

ローテーションを正常に行うには、PEMキーのみを使用する管理者アカウントが、パスワードなしでsudoコマンドを実行できるように設定してください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/jp/keeperpam/privileged-access-manager/password-rotation/rotation-use-cases/aws/ec2-virtual-machine-user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
