はじめに
IBM Security Verify Privilege Vault(以下、ISVPV)では、複数のAPI実行方法が提供されています。
今回は、SDKを実行してみました。
- SDK
- REST API
- SOAP API
1.SDKのガイドについて
SDKを使用するためには、ガイドに従いISVPV設定と、クライアントPCにSDK Clientをインストールする必要があります。
https://ibm.docs.thycotic.com/isvp-vault/11.6.x/api-scripting/sdk-cli/index.md
2.ISVPV設定
ガイドの手順に従い、ISVPVを設定します。
2.1.Webサービスの有効化
管理画面で、[管理] > [構成] > [アプリケーション設定]セクションで、[Web サービスを有効にする] チェック ボックスがオンになっていることを確認します。
2.2.アプリケーション アカウント作成
管理画面で、[管理] > [ユーザー管理]を開き、「ユーザーの作成」をクリックします。
任意のユーザー名、表示名、パスワードを入力し、[アプリケーション アカウント]にチェックを入れ、[ユーザーの追加]をクリックします。
2.3.SDK管理を有効化
管理画面で、[管理] > [SDK クライアント管理] > [構成]タブを開き、SDK Configrationを有効化します。
2.4.SDK クライアント ルール登録
管理画面で、[管理] > [SDK クライアント管理] > [クライアント オンボーディング]タブを開き、[ルールの作成]をクリックします。
以下のように設定して、[保存]をクリックします。
- 任意の名前を設定
- 登録したアプリケーションアカウントを選択
- 許可するIPV 4 アドレスまたはアドレス範囲 (CIDR 表記) を設定
- [Require Onboarding Key]にチェックする。
登録したルールを選択し、「Show Key」をクリックします。
注)役割(ロール)を付与してもSecretを参照できなかったため役割の割り当て手順は割愛しています。
3.SDKクライアントのインストール/初期化
マニュアルのリンク先からSDKクライアントをダウンロードします。今回は最新の[SDK Client version 1.5.3]をダウンロードしました。
https://ibm.docs.thycotic.com/isvp-vault/11.6.x/api-scripting/sdk-downloads/index.md
secretserver-sdk-1.5.3-win-x64.zipファイルを解凍し、任意のディレクトリに保管します。
Windowsのコマンドプロンプトを開き、SDKクライアントを保存したディレクトリに移動します。
Verify Privilege Vault インスタンスに接続するようにクライアントを初期化します。
クライアント マシン上で 1 回限りの操作になります。
>tss init -u https://<FQDN>/SecretServer -r <登録したルール名> -k <コピーしたキー>
SSL証明書に不備がある場合は、以下のようにエラーとなりました。
500 - The SSL connection could not be established, see inner exception.
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
~~割愛~~
4.実行結果のサンプル
SDKクライアントからコマンド実行できる環境が整っため、いくつかコマンドを実行してみます。
#ステータス確認
>tss status
Connected to endpoint https://<fqdn>/SecretServer
#SDKクライアントのバージョン確認
>tss version
1.5.3.0
#トークンの取得
>tss token
Ag~~割愛~~GQ
#initで構成した情報の削除(削除した場合は、tss initをもう一度実行する必要がある)
>tss remove
----------
>> Are you sure you want to remove the configuration settings from this machine?
>> [ Y = Yes, N = No ]
> Y
Your configuration settings have been removed.
#Secretの取得(id=1のSecret情報を取得)
>>tss secret -s 1 -ad
{"machine":"x.x.x.x","username":"root","password":"admin","notes":"","private-key":"*** Not Valid For Display ***","private-key-passphrase":""}
注)サービスアカウントが該当Secretを参照する権限がない場合、[API_AccessDenied]エラーが返ってきます。
マニュアルに記載されている役割(Role)を付与してもエラー解消しませんでした。
このため、Secretの共有設定で、サービスアカウントに表示権限を付与する形としました。
>tss secret -s 2 -ad
400 - Bad Request
Failed to retrieve the secret.
{
"errorCode": "API_AccessDenied",
"message": "Access Denied"
}
最後に
前回の【IBM Security Verify Privilege Vault】RESTAPIを使ってみる に続き、SDKを使って、API実行を試してみました。
ご参考になれば幸いです。