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

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

セキュアな構成の保管
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リポジトリで入手できます。ご利用のオペレーティングシステムに合わせてインストーラーをダウンロードしてください。
⬇️Secrets Manager CLIバイナリのダウンロード
WindowsまたはMacOSでCLIを起動すると、CLIはシェルモードで実行されます。ksm コマンドは、コマンドラインから引き続きご利用になれます。
Linuxバイナリは単なる実行可能ファイルなので、PATHのディレクトリに移動する必要があります。
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標準のセキュアストレージ (推奨):
注: keyring エクストラを入れると、プロファイルをmacOSキーチェーン、Windows資格情報マネージャー、またはLinuxのSecret Serviceに保存できます。入れない場合、プロファイルはパーミッション 0600 のファイルベース保管にフォールバックします。
AWS Secrets Managerへの同期:
注: aws エクストラ (boto3) は、AWS Secrets Managerへ同期する ksm sync に必要です。既定ではインストールされません。
すべてのエクストラをインストール:
ソースコード
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_TOKEN
ワンタイムアクセストークン。設定され、INI構成が見つからない場合、既定プロファイルが自動作成されます (コンテナ向け)。
KSM_CLI_TOKEN
ksm profile init 用のワンタイムアクセストークン。コマンドラインにトークンを載せない場合に使用します。
KSM_INI_FILE
既定の INI ファイル名 (keeper.ini) を上書きします。
KSM_INI_DIR
keeper.ini の検索・作成先ディレクトリを上書きします。
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 設定ファイルを指定します。未指定の場合、CLIは以下の場所で_keeper.ini_を探します。
環境変数
KSM_INI_DIRで定義されたパスカレントディレクトリ
ユーザーのホームディレクトリ
${HOME}${HOME}/.config/ksm$env:USERPROFILE
各種システムディレクトリ
/etc/etc/ksm/etc/keeper$env:APPDATA/Keeper$env:ProgramData/Keeper$env:ProgramFiles/Keeper
-p, --profile-name <名前> 指定した構成プロファイルを使用します。
-o, --output <{stdout, stderr, filename}> 出力先を設定します。
stdout: 標準出力 (既定)stderr: 標準エラー<filename>: 指定したテキストファイルへ出力
--color/--no-color, -c/-nc 出力の色を有効または無効にします。
--cache/--no-cache このコマンド実行でのレコードキャッシュの使用を有効または無効にします。
キーリング構成の削除
システムのセキュアストレージから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 (コマンドライン):
最終更新

