IBM Security Verify Privilege Vault のカスタムランチャーを作成する(2)



# はじめに
[IBM Security Verify Privilege Vault のカスタムランチャーを作成する(1)](https://qiita.com/ogawa_to/items/24daed27f667a648894d)ではTeraTerm用のカスタムランチャーを作成しましたが、ここでは、以下のようにカスタムランチャーを作成し直し使いやすくします。
・TeraTermのコマンド指定をフルパス指定ではなくします。
・セッションレコーディングでキー・ストロークを取得できるようにします。
・セッションレコーディングでマシン名、ランチャー名が表示されるようにします。

### 前提事項
- この手順では、ブラウザを実行しているWindowsマシンのTerTermの実行ファイル(ttermpro.exe)にパスが通っているものとします。


## 設定手順概要
1. カスタム・ランチャー「TeraTermProxyランチャー」を作成する。
2. シークレット・テンプレート「Unix Account(SSH)」に、1.で作成したカスタム・ランチャー「TeraTermProxyランチャー」をマッピングする。
3. 動作確認を行う
4. (オプション) TeraTermランチャーを削除する。

## 構成手順詳細
以下の作業は IBM Security Verify Privilege Vaultに管理者アカウントでログインして作業を行います。

### 1. カスタム・ランチャー「TeraTerm ランチャー」を作成する

Administration > シークレット・テンプレートの画面に移動します。

ランチャー タブに切り替えます。

「作成」をクリックし、以下のようにカスタム・ランチャーを作成します。
|項目|設定値|
|:--|:--|
|ランチャーのタイプ|プロキシーSSHプロセス|
|ランチャー名|TeraTermProxyランチャー|
|アクティブ|True|
|カスタム・パラメータを引用符で囲む|True|
|プロセス名|ttermpro.exe|
|プロセス引数|"\\$Host":"\\$Port" /ssh /2 /auth=password /user="\\$Username" /passwd="\\$Password"|

[IBM Security Verify Privilege Vault のカスタムランチャーを作成する(1)](https://qiita.com/ogawa_to/items/24daed27f667a648894d)で作成したTeraTermランチャーとは、以下の点を変更しています。

ランチャータイプ: 　プロセスからプロキシーSSHプロセスに変更します。
作成したランチャーのランチャータイプは後から変更できないため、新たに作り直します。

プロセス名：　ttermpro.exe にパスが通っている場合フルパスで指定しなくても起動できます。
OSの環境変数PATHの変更後、再起動が必要になる場合があります。

プロセス引数：　プロキシーSSHプロセスの場合、マッピングで指定する変数にホスト名、ポート番号もあるため、これを指定します。

プロセス引数の指定方法については、[TTSSH command line]( https://ttssh2.osdn.jp/manual/4/en/commandline/ttssh.html) を参考にします。
また、2. のマッピングで指定する属性を指定するようにします。

### 2. シークレット・テンプレートへのカスタム・ランチャーをマッピング
Administration > シークレット・テンプレートの画面に移動します。

テンプレート タブにある、「Unix Account (SSH)」をクリックします。

「マッピング」タブに切り替えます。

「マッピングの追加」をクリックします。
「マッピング・タイプ」に作成した「TeraTermProxyランチャー」を指定します。
以下のようにカスタム・ランチャーを作成します。
|ランチャー・フィールド|シークレット・フィールド|
|:--|:--|
|マッピング・タイプ|TeraTermProxyランチャー|
|Host|Machine|
|Password|Password|
|Port|<デフォルト値を使用> 22|
|Username|Username|

設定したら保存します。

### 3. 動作確認を行う
既に作成済みのシークレットのうち、シークレット・テンプレート「Unix Account(SSH)」を利用しているシークレットを表示します。

作成、設定した TeraTermProxyランチャーをクリックします。
TeraTermが起動され、該当のサーバーにログイン可能であることを確認します。
適当に操作し、セッションを終了します。

しばらく待った後、Administration > セッション・モニター を表示し、操作した内容が録画されていることを確認します。
![sessionrecord.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147690/bfdd15d1-7142-a847-c0ac-a47e12c431c5.png)

キーストロークも取得出来ています。
![sessiondata.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147690/f69cc11a-b029-a642-b31f-1b1b6a4b4840.png)


### 4. (オプション) TeraTermランチャーを削除する。
Administration > シークレット・テンプレートの画面に移動します。
ランチャー タブに切り替えます。
TeraTermランチャーを編集し、「アクティブ」をFalseに設定し、保存します。

Administration > シークレット・テンプレートの画面に移動します。
テンプレート タブにある、「Unix Account (SSH)」をクリックします。
「マッピング」タブに切り替えます。
ランチャー名 TeraTermランチャーを「除去」します。
確認のポップアップが表示されるので、「OK」をクリックします。

### 最後に
IBM Security Verify Privilege Vault のTeraTermを使ったカスタムランチャーを以下のように作り直しました。
・TeraTermのコマンド指定をフルパス指定ではなくした
・セッションレコーディングでキー・ストロークを取得できるようにした。
・セッションレコーディングでマシン名、ランチャー名が表示されるようにした。

## 参考
[TTSSH command line]( https://ttssh2.osdn.jp/manual/4/en/commandline/ttssh.html)
TeraTermのコマンドラインの説明

[Custom Launchers](https://ibm.docs.thycotic.com/isvp-vault/current/secret-launchers/custom-launchers)
カスタムランチャーの作成