シークレットマネージャーCLI
シークレットマネージャーでボルトシークレットへのシェルアクセス
概要
KeeperシークレットマネージャーCLI (KSM CLI) を使用すると、ターミナル、シェルスクリプト、シェルから起動できる任意のソフトウェアから、シークレットマネージャーボルトの基本的な操作をご利用になれます。
基本機能
Keeperボルトからシークレットを取得
Keeperボルトのシークレットを更新
サードパーティのCI/CDやその他の開発ツールとの統合
Keeperと外部のシークレットプロバイダ間でシークレットを同期
スクリプトおよびコンテナ内の環境変数をKeeperシークレットへの置換
Keeperでは2つの異なるCLI ツールがご利用になれます。シークレットマネージャーCLI はマシンベースのシークレット管理を対象とする一方、コマンダーCLIでは管理機能に重点を置いています。
アプリケーションとクライアントデバイスの設定
シークレットマネージャーCLIまたはKeeperボルトに保存されたシークレットにアクセスするための環境変数置換を使用するには、まずアプリケーションとクライアントデバイスを設定する必要があります。 クイックスタートガイドをご参照の上設定してください。
シークレットマネージャーCLIのインストール
KSM CLIは、Windows/Mac/Linux用のバイナリアプリケーションとして、またはPython環境用のpip3インストールとしてご利用になれます。
バイナリのインストール方法
最新のバイナリリリースは、GitHubリポジトリで入手できます。ご利用のオペレーティングシステムに合わせてインストーラーをダウンロードしてください。
⬇️Secrets Manager CLIバイナリのダウンロード
WindowsまたはMacOSでCLIを起動すると、CLIはシェルモードで実行されます。ksm
コマンドは、コマンドラインから引き続きご利用になれます。
Linuxバイナリは単なる実行可能ファイルなので、PATHのディレクトリに移動する必要があります。
Dockerのインストール方法
KeeperのDockerイメージからのインストールとセットアップについては、Dockerコンテナのページをご参照ください。
Pip3とPython3のインストール方法
Python 3.xがインストールされていることをご確認ください。 インストールされていない場合は、OS固有のパッケージマネージャを使用してインストールします。
pip3が最新であることを確認します。
これで、シークレットマネージャーCLIをインストールできます。
以下は最新バージョンにアップグレードするコマンドとなります。
この方法でCLIをシステムのPythonにインストールします。rootまたは管理者権限がない場合は、virtualenvを設定してCLIをインストールできます。virtualenvを使用しない場合は、LinuxまたはMac OSでは、モジュールとバイナリは$HOME/.localディレクトリにインストールされます。binディレクトリへのPATHを含める必要がある場合があります。
virtualenvを使用したKSMのインストール
virtualenvを使用することで、クリーンに分離された環境にKSMをインストールできます。
続いて、仮想環境にksmをインストールします
ソースコード
GitHubリポジトリでKeeperシークレットマネージャーCLIのソースコードを検索します。
使用方法
ksm
CLIツールは、以下の目的に使用できます。
Github Actionsなどの統合機能で使用するための設定ファイルの初期化 (init)
クライアントデバイスとしてコマンドを実行するためのローカルプロファイルの作成 (profile)
Keeperボルトの照会とシークレットの取得 (secret)
環境変数を置換するためのコマンドラインアプリケーションのラップ (exec)
ローカルクライアントデバイスの作成
CLIは、ksm profile init
コマンドでワンタイムアクセストークンを渡すことによって、クライアントデバイスとして初期化されます。初期化後、CLIを使用してシークレットを取得できます。 以下の例では、「XX:XXXX」をクライアントデバイスのワンタイムアクセストークンに置き換えます。
自動起動を使用してコンテナ内でCLIを利用できるようにしている場合、またはprofile initを実行したくない場合は、以下のようにKSM_TOKENを設定するとプロファイルを自動作成できます。
環境変数を設定して、コマンドラインのフラグを減らすことができます。
KSM_TOKEN
クライアントデバイスの初期化に使用されるワンタイムアクセストークン
KSM_HOSTNAME
Keeper環境のホスト。US、EU、AU、JP、CA、US_GOV、または完全なURLのいずれか。トークンにはホスト名が含まれるため、この変数はほとんどの場合使用されません。
KSM_INI_DIR
CLIのINI設定ファイルが格納されているディレクトリ。
KSM_INI_FILE
CLIのINI設定ファイルの名前。
KSM_CLI_PROFILE
CLIの有効なプロファイル。
KSM_CONFIG
Base64設定文字列。CLIはこれをデフォルトプロファイルに使用します。
コマンドの実行
Keeperシークレットマネージャーのコマンドは、コマンドラインからksm
プログラムを使用して実行されます。
ksm <コマンド> <サブコマンド> <オプション>
特定のコマンドのヘルプを表示するには、以下のコマンドを実行します。
ksm <コマンド> --help
サブコマンドのヘルプを表示するには、以下のコマンドを実行します。
ksm <コマンド> <サブコマンド> --help
secret
ボルトからシークレットを取得します
folder
フォルダを管理します
profile
ローカル設定プロファイルを管理します
init
ワンタイムアクセストークンを初期化します
exec
環境変数を置換してスクリプトを実行します
config
CLI設定を管理します
version
CLIのバージョン情報を表示します
shell
CLIを対話型シェルモードで起動します
quit
シェルモードを終了します
オプション
--ini-file </path/to/keeper.ini>
keeper.ini設定ファイルを設定します。設定されていない場合、CLIは_keeper.ini_ファイルがないか以下のディレクトリを調べます。
環境変数
KSM_INI_DIR
で定義されたパスカレントディレクトリ
ユーザーのホームディレクトリ
${HOME}
${HOME}/.config/ksm
$env:USERPROFILE
様々なシステムディレクトリ
/etc
/etc/ksm
/etc/keeper
$env:APPDATA/Keeper
$env:ProgamData/Keeper
$env:ProgramFiles/Keeper
-p、--profile-name <名前>
指定した設定プロファイルを使用します
-o、--output <{stdout, stderr, filename}>
出力先を設定します
stdout
- 標準出力に出力します (デフォルト)stderr
- 標準エラーに出力します<filename>
- 指定したテキストファイルに出力を送信します
--color/--no-color、-c/-nc
出力インスタンスの色を有効化または無効化します
--cache/--no-cache
このコマンドインスタンスの記録のキャッシュの使用を有効化または無効化します。
最終更新