EC2仮想マシンユーザー

Keeperを使用したAWS EC2仮想マシンアカウントのローテーション

このガイドでは、Keeper Rotationを使用して、AWS環境のAWS EC2仮想マシン(VM)のアカウントをローテーションする方法について説明します。EC2 VMはAWSのマネージドリソースで、EC2 VMの管理者のクレデンシャルがPAMマシン記録タイプで定義され、EC2 VMユーザーの設定がPAMユーザー記録タイプで定義されています。

EC2 VMアカウントの場合、パスワードのローテーションにAWS SDKは使用されません。代わりに、通常のオペレーティングシステムコマンドを使用してパスワードを変更します。Keeperはターゲットマシンに接続して、パスワードを変更するコマンドラインのコマンドを送信します。AWS環境でのローテーションプロセスの大まかな概要は、こちらのページをご参照ください。

前提条件

このガイドでは、以下の作業がすでに実行されていることを前提としています。

  • Keeper Secrets Managerが企業およびロールに対して有効になっていること

  • Keeper Rotationがご利用のロールに対して有効になっていること

  • Keeper Secrets Managerアプリケーションが作成済みであること

  • Keeper Rotationゲートウェイがすでにインストールされて動作しており、SSH/WinRMを使用してAWS仮想マシンと通信できること

  • AWS環境がKeeperのドキュメントに従って設定されていること

1.PAMマシン記録を設定

Keeperは、ゲートウェイマシンまたはネットワーク上の他のマシン上の任意のローカルユーザーアカウントをローテーションできます。PAMマシン記録は、すべてのマシンに対して作成する必要があります。このPAMマシン記録には、マシン上のユーザーのパスワードを変更する権限を持つ管理用クレデンシャルが含まれている必要があります。

すべてのマシンに対してPAMマシン記録が作成されたら、ローテーションされるローカルユーザーアカウントごとにPAMユーザー記録を作成する必要があります。PAMマシン記録自体もローテーションできます。

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

PAMマシン記録のローテーションを実行する際に、たまたま同じマシンでKeeper Gatewayを実行している場合、Keeperはkeeper-gwユーザーを使用して、そのアカウントのパスワードまたはSSH鍵をローテーションしようとします。keeper-gwがsudoers権限を持っていると仮定すると、ローカルのゲートウェイマシンでローテーションを実行できるようになります。

以下の表に、PAMマシン記録の必須フィールドをすべて一覧で表示します。

フィールド説明

タイトル

記録の名前 (AWS Linux 1)

ホスト名またはIPアドレス

ゲートウェイがアクセスするマシンのホスト名またはIP

ポート

通常、WinRMは5985または5986、SSHは22。

ログイン

管理者アカウントのユーザー名

パスワード

WinRMで必須

管理者ユーザーがパスワードを使用してログインする場合、SSHではオプション。それ以外の場合はPEM鍵が使用されます。 注意:次の文字は使用が制限されています。" '

PEM秘密鍵

パスワードを使用しない場合、SSHでは必須

オペレーティングシステム

VMのオペレーティングシステム(WindowsまたはLinux)

SSL検証

WinRMの場合、選択すると、SSLモードポート5986が使用されます。SSHでは無視されます。

管理者のクレデンシャルを含むこのPAMマシン記録は、前提条件で作成したKSMアプリケーションで共有される共有フォルダに格納されている必要があります。この特権アカウントへのアクセスが必要なのはKSMアプリケーションのみであり、どのユーザーとも共有する必要はありません。

PAMマシン記録は、ローテーション用に設定することもできます。

2.PAMの設定を指定

AWS環境のPAM設定が作成済みの場合は、マシンユーザーのローテーションに必要なその他のリソースクレデンシャルを既存のPAM設定に追加すればよいだけです。

最初に以下の項目が完了していることを確認します。

  • Keeper Secrets Managerアプリケーションが作成済みであること

  • Keeper Rotationゲートウェイがすでにインストールされて動作しており、作成したKeeper Secrets Managerアプリケーションでプロビジョニングされていること。

  • ターゲットマシンごとにPAMマシン記録が作成されていること

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

フィールド説明

タイトル

設定名、例:AWS VM Configuration

環境

選択:AWS

ゲートウェイ

Keeper Secrets Managerアプリケーションで設定され、前提条件のAWS仮想マシンにネットワークでアクセスできるゲートウェイを選択します

アプリケーションフォルダ

手順1のPAMマシン記録を含む共有フォルダを選択します

管理者クレデンシャル記録

手順1で作成したPAMマシン記録を選択します これは、管理者のクレデンシャルが格納された、ディレクトリユーザーアカウントのクレデンシャルをローテーションするための十分な権限を持つ記録です

AWS ID

AWSのこのインスタンスの一意のID。これは参考用のため、何を指定してもよいですが、短くすることをお勧めします 例:AWS-1

アクセスキーID

EC2ロールポリシー(デフォルト)を使用している場合は、このフィールドをUSE_INSTANCE_ROLEに設定します。使用していない場合は、特定のアクセスキーIDを使用します。

シークレットアクセスキー

EC2ロールポリシー(デフォルト)を使用している場合は、このフィールドをUSE_INSTANCE_ROLEに設定します。使用していない場合は、特定のシークレットアクセスキーを使用します。

PAMネットワーク設定記録の設定可能なすべてのフィールドの詳細は、こちらのページをご参照ください。

ターゲットマシンでローテーションを実行するために必要なすべての管理用リソースクレデンシャルをPAM設定に追加します。 たとえば、3つの異なるPAMマシンをローテーションする場合は、PAM設定でリソースクレデンシャルとしてそれらを追加する必要があります。

3. PAMユーザー記録を設定

Keeperは、PAMマシン記録のクレデンシャルを使用して、AWS環境のPAMユーザー記録をローテーションします。PAMユーザーのクレデンシャルは、前提条件で作成したKSMアプリケーションで共有される共有フォルダに格納されている必要があります。

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

フィールド説明

タイトル

Keeperの記録タイトル(AWS Machine1 ec2-user

ログイン

ローテーションするユーザーアカウントの大文字と小文字の区別があるユーザー名(ec2-userなど)。

パスワード

これは、ユーザーがパスワードを使用してログインする場合にのみ必要です。パスワードが空白のままの場合、ローテーションを実行するとパスワードが設定されます。

PEM秘密鍵

これは、パスワードをローテーションする代わりにPEM鍵をローテーションする場合にのみ必要です。

4. 記録のローテーションを設定 - AWS VMユーザー

手順3で設定したPAMユーザーの記録を選択し、その記録を編集して[パスワードローテーション設定]を開きます。

  • 適切なスケジュールとパスワードの複雑さを選択します。

  • [ローテーション設定]では、以前に設定したPAM設定を使用する必要があります。

  • [リソースクレデンシャル]フィールドで、手順1で設定されたPAMマシンクレデンシャルを選択する必要があります。

  • 保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールでローテーションできるようになります。

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

ローテーション設定画面に適切な管理者クレデンシャルが表示されていない場合は、Secrets Manager > [PAM設定]に移動し、必要なリソースクレデンシャルを追加します。

5. PAMマシン記録のローテーションを設定

PAMマシンのクレデンシャルのローテーションが必要な場合は、手順1のPAMマシン記録を選択し、その記録を編集して[パスワードローテーション設定]を開きます。

  • 適切なスケジュールとパスワードの複雑さを選択します。

  • [ローテーション設定]では、以前に設定したPAM設定を使用する必要があります。

  • [リソースクレデンシャル]フィールドで、手順1で設定されたPAMマシンクレデンシャルを選択する必要があります。

  • 保存すると、ローテーションボタンが有効になり、必要に応じて、または選択したスケジュールでローテーションできるようになります。

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

ターゲットのマシンまたはユーザーでPEM秘密鍵クレデンシャルをローテーションすると、Keeperはマシンのauthorized_keysファイルを新しい公開鍵で更新します。ローテーションが最初に実行されたときは、システムにアクセスできなくなることのないように、古い公開鍵がそのまま残されます。ファイルに追加された2番目の公開鍵には、以後のローテーションの識別子として機能するコメントが付加されます。以下に例を示します。

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

最初のローテーションが成功した場合は、authorized_keysファイルの古い公開鍵エントリを必要に応じて削除できます。それ以後のローテーションでは、Keeperは「keeper-security-xxx」コメントが付加された行を更新します。

トラブルシューティング

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

最終更新