シークレットマネージャーCLI
シークレットマネージャーでボルトシークレットへのシェルアクセス

概要
KeeperシークレットマネージャーCLI (KSM CLI) を使用すると、ターミナル、シェルスクリプト、シェルから起動できる任意のソフトウェアから、シークレットマネージャーボルトの基本的な操作をご利用になれます。
基本機能
Keeperボルトからシークレットを取得
Keeperボルトのシークレットを更新
サードパーティのCI/CDやその他の開発ツールとの統合
Keeperと外部のシークレットプロバイダ間でシークレットを同期
スクリプトおよびコンテナ内の環境変数をKeeperシークレットへの置換

セキュアな構成の保管
KSM CLIは、既定でオペレーティングシステム標準のセキュアストレージに構成を安全に保存します。認証情報を設定ファイルに保存する方法と比べると、セキュリティが強化されます。
動作の概要
macOS
キーチェーン
Windows
Windows資格情報マネージャー
Linux
Secret Service (GNOME Keyring、KWalletなど)
プロファイルを初期化すると、認証情報はOS標準のセキュアストレージに自動的に保存されます。ファイルベースの保管を明示的に指定しない限り、keeper.ini ファイルは作成されません。
OS標準ストレージの利点
セキュリティの強化: OSレベルの暗号化で認証情報を保護します
平文ファイルの排除: 認証情報ファイルの誤露出リスクを減らします
自動的な保護: 生体認証やシステムパスワードなど、既存のOSのセキュリティ機能を利用します
複数プロファイル: 複数のKSMプロファイルを安全に管理しやすくなります
注: OS標準のセキュアストレージには、オプションの keyring エクストラのインストールが必要です (例: pip3 install keeper-secrets-manager-cli[keyring])。これがない場合、プロファイルは keeper.ini を使ったファイルベースの保管にフォールバックします。
アプリケーションとクライアントデバイスの設定
シークレットマネージャーCLIを使用する場合、またはKeeperボルトに保存されたシークレットへのアクセスに環境変数の置換を使う場合は、先にアプリケーションとクライアントデバイスを設定してください。クイックスタートガイドをご参照のうえ設定してください。
シークレットマネージャーCLIのインストール
KSM CLIは、Windows/Mac/Linux用のバイナリアプリケーションとして、またはPython環境用のpip3インストールとしてご利用になれます。
バイナリのインストール方法
最新のバイナリリリースは、GitHubリポジトリで入手できます。ご利用のオペレーティングシステムに合わせてインストーラーをダウンロードしてください。
macOSではアーキテクチャごとにインストーラーが分かれています。お使いのMacに合うものをダウンロードしてください (Appleシリコンは arm64、Intelは x64)。
WindowsまたはMacOSでCLIを起動すると、CLIはシェルモードで実行されます。ksm コマンドは、コマンドラインから引き続きご利用になれます。
Linux向けリリースは、ksm バイナリと install.sh スクリプトを含む .tar.gz です。展開して ./install.sh を実行すると、ksm がPATHに入ります。インストールにはglibc 2.28以降 (Rocky Linux 8、Ubuntu 20.04、Debian 10以降) またはmusl 1.2.5以降 (Alpine 3.20以降) が必要です。要件を満たさない場合は、実行できないバイナリを入れずにエラーで終了します。
パッケージマネージャーによるインストール
Windows: winget
wingetでKSM CLIをインストールします。
以下は、新しいバージョンへアップグレードするコマンドです。
Dockerのインストール方法
KeeperのDockerイメージからのインストールとセットアップについては、Dockerコンテナのページをご参照ください。
Pip3とPython3のインストール方法
Python 3.10以上がインストールされていることをご確認ください。インストールされていない場合は、OS固有のパッケージマネージャを使用してインストールします。
pip3が最新であることを確認します。
これで、シークレットマネージャーCLIをインストールできます。
以下は最新バージョンにアップグレードするコマンドとなります。
この方法でCLIをシステムのPythonにインストールします。rootまたは管理者権限がない場合は、virtualenvを設定してCLIをインストールできます。virtualenvを使用しない場合は、LinuxまたはMac OSでは、モジュールとバイナリは$HOME/.localディレクトリにインストールされます。binディレクトリへのPATHを含める必要がある場合があります。
詳しくはこちらのPythonパッケージウェブサイト をご参照ください。
virtualenvを使用したKSMのインストール
virtualenvを使用することで、クリーンに分離された環境にKSMをインストールできます。
続いて、仮想環境にksmをインストールします
オプションのエクストラのインストール
オプションのエクストラを併せてインストールすると、追加機能が使えるようになります。
OS標準のセキュアストレージ (推奨):
AWS Secrets Managerへの同期:
すべてのエクストラをインストール:
ソースコード
GitHubリポジトリでKeeperシークレットマネージャーCLIのソースコードを検索します。
使用方法
ksm のCLIツールは、以下の目的に使用できます。
GitHub Actionsなどの統合で使う設定ファイルの初期化 (
init)クライアントデバイスとしてコマンドを実行するローカルプロファイルの作成 (
profile)Keeperボルトの照会とシークレットの取得 (
secret)環境変数の置換のためのコマンドラインアプリケーションのラップ (
exec)
ローカルクライアントデバイスの作成
CLIは、ksm profile init にワンタイムアクセストークンを渡してクライアントデバイスとして初期化します。初期化後、CLIでシークレットを取得できます。以下の例では XX:XXXX をクライアントデバイスのワンタイムアクセストークンに置き換えます。
既定の動作: OS標準のセキュアストレージ
既定では、KSM CLIをkeyring対応でインストールした場合 (pip3 install keeper-secrets-manager-cli[keyring])、構成はOS標準のセキュアストレージに保存されます。
出力例 (macOS):
出力例 (Windows):
出力例 (Linux):
初期化後、すぐにCLIを使用できます。
代替: ファイルベースの保管
構成を設定ファイルに保存する場合は、--ini-file オプションを使用します。
これにより、所有者のみが読み書きできるパーミッション (0600) の keeper.ini が作成されます。
コンテナ/サーバーレス向け
コンテナ、サーバーレス、ヘッドレス環境 (Docker、Kubernetes、CI/CD、クラウド関数など) では、keyringなしでKSM CLIをインストールします。
トークンでプロファイルを初期化します。
OS標準のセキュアストレージが使えない環境向けに、keeper.ini 構成ファイルが作成されます。
コンテナの自動起動にCLIを含めている場合や profile init を実行したくない場合は、KSM_TOKEN を設定するとプロファイルが自動作成されます。
例:
環境変数を設定すると、コマンドラインのフラグを減らせます。
KSM_CONFIG
Base64エンコードされたKSM構成。設定されているとCLIはこの変数から構成を読み込みます。プロファイルの初期化は不要です。
KSM_CONFIG_BASE64_N
環境変数から複数プロファイルを読み込む場合のN番目用Base64エンコード構成。KSM_CONFIG_BASE64_1 から順に確認し、欠番で停止。KSM_CONFIG 未設定時のみ使用
KSM_CONFIG_BASE64_DESC_N
対応する KSM_CONFIG_BASE64_N のプロファイル名 (既定: AppN)。KSM_CONFIG_BASE64_DESC_1 (既定 App1) が有効プロファイルになる
KSM_TOKEN
ワンタイムアクセストークン。設定され、INI構成が見つからない場合、既定プロファイルが自動作成されます (コンテナ向け)。
KSM_CLI_TOKEN
ksm profile init 用のワンタイムアクセストークン。コマンドラインにトークンを載せない場合に使用します。
KSM_INI_FILE
既定の INI ファイル名 (keeper.ini) を上書きします。
KSM_INI_DIR
keeper.ini の検索・作成先ディレクトリを上書きします。
KSM_INI_DIR_SKIP_CONFLICT_WARNING
TRUE に設定すると、カレントディレクトリの keeper.ini が KSM_INI_DIR より優先されるときの警告を抑制
KSM_CLI_PROFILE
有効なプロファイル名を設定します (既定: _default)。
KSM_HOSTNAME
プロファイル初期化時のサーバー地域 (既定: US)。ksm profile init の前に設定します。
KSM_CONFIG_KEYRING_UTILITY_PATH
Linuxヘッドレス環境などで、代替keyringユーティリティ (例: lkru) へのパス。
コマンドの実行
Keeperシークレットマネージャーのコマンドは、コマンドラインから ksm プログラムで実行します。
ksm <コマンド> <サブコマンド> <オプション>
特定のコマンドのヘルプは、以下を実行します。
ksm <コマンド> --help
サブコマンドのヘルプは、以下を実行します。
ksm <コマンド> <サブコマンド> --help
profile
ローカルクライアントデバイスのプロファイルを管理します
secret
シークレットを管理します (一覧、取得、更新、削除など)
folder
フォルダを管理します
exec
アプリケーションをラップし、シークレットを環境変数として注入します
interpolate
テキストファイル内のKSM表記法プレースホルダを置換します
sync
AWS、Azure、GCP、または JSON へシークレットを同期します
config
CLIツールの設定を構成します
init
統合向けの構成ファイルを初期化します (k8s など)
version
バージョン情報を表示します
shell
対話型シェルモードで実行します
オプション
--ini-file </path/to/keeper.ini>
keeper.ini 設定ファイルを指定します。未指定の場合は、以下の場所を順に確認し、最初に見つかったものを使います。
カレントディレクトリ
環境変数
KSM_INI_DIRで定義されたパスユーザーのホームディレクトリ
${HOME}${HOME}/.config/ksm${HOME}/.keeper$env:USERPROFILE
各種システムディレクトリ
/etc/etc/ksm/etc/keeper$env:APPDATA/Keeper$env:ProgramData/Keeper$env:ProgramFiles/Keeper
カレントディレクトリに keeper.ini がある場合は、KSM_INI_DIR が別の場所を指していてもそちらが使われ、両方のパスを示す警告が出ます。意図したファイルを使うには、フルパスで --ini-file を指定します。警告だけ消す場合は KSM_INI_DIR_SKIP_CONFLICT_WARNING=TRUE を設定します。優先順位自体は変わりません。
-p, --profile-name <名前> 指定した構成プロファイルを使用します。
-o, --output <{stdout, stderr, filename}> 出力先を設定します。
stdout: 標準出力 (既定)stderr: 標準エラー<filename>: 指定したテキストファイルへ出力
--color/--no-color, -c/-nc 出力の色を有効または無効にします。
--cache/--no-cache このコマンド実行でのレコードキャッシュの使用を有効または無効にします。
--log-level <{DEBUG, INFO, WARNING, ERROR}> デバッグログのレベルを設定します。
キーリング構成の削除
システムのセキュアストレージからKSM構成を完全に削除するには、OSに応じた手順に従います。
macOS (キーチェーン)
キーチェーンアクセスアプリを使う場合:
キーチェーンアクセスを開きます (アプリケーション → ユーティリティ → キーチェーンアクセス)
検索ボックスに
KSM-cliと入力します一致する項目をすべて選択します
右クリックして削除を選びます
コマンドラインを使う場合:
Windows (資格情報マネージャー)
資格情報マネージャーの UI:
コントロールパネル → ユーザーアカウント → 資格情報マネージャーを開きます
Windows の資格情報をクリックします
KSM-cliで始まる項目を探します各項目を開き、削除を選びます
コマンドライン (PowerShell):
コマンドライン (CMD):
Linux (Secret Service / GNOME Keyring)
Seahorse (GNOME Keyring の GUI):
パスワードと鍵 (Seahorse) を開きます
ログイン キーリングを確認します
KSM-cliを含む項目を検索します各項目を右クリックして削除します
secret-tool (コマンドライン):
最終更新

