secretコマンド
Keeperボルトのシークレットとファイル添付の管理
secret コマンド
secret コマンド説明: ボルトからシークレットを取得し、レスポンスを解析します。
パラメータ
実行するサブコマンド
形式: ksm secret <サブコマンド>
サブコマンド
list
関連アプリケーションのシークレット一覧表示
get
ボルト内シークレットまたは特定フィールドの取得
add
ボルトへの新規シークレット追加
update
既存シークレット内フィールドの更新
delete
ボルトからのシークレット削除
upload
既存シークレットへのファイル添付のアップロード
download
名前指定によるファイル添付のダウンロード
delete-attachment
ファイル名またはUIDによる添付の削除
template
レコードタイプテンプレートの表示
notation
exec 向け環境変数テンプレートのテスト
totp
TOTPフィールドからのパスコード生成
password
パスワード生成
list
アプリケーションに関連付けられているすべてのシークレットを一覧で表示します。
ksm secret list
オプションパラメータ
--jsonJSON形式での返却--uid <レコードUID>レコードUIDによる特定レコードの取得-t, --title <REGEX>タイトルが正規表現に一致するレコードの取得-f, --folder <フォルダUID>指定フォルダ内レコードのみの一覧表示-r, --recursiveサブフォルダを含む再帰的な一覧表示-q, --query <JSONPathクエリ>JSONPathクエリに一致するレコードのみの一覧表示-v, --show-valueJSONPath使用時の一致値の出力 (タイトルに代えて)
--query スイッチでは、XPathに基づくクエリ構文であるJSONPathを使用します (仕様)。
例1: 表形式
例2: JSON形式
例3: フォルダで絞り込み、タイトルで検索
例4: JSONPathによるユーザー名フィールドの検索
例5: JSONPathによるカスタムフィールドタイプの検索
例6: JSONPathによるカスタムフィールドラベルと値の検索
get
ボルトのシークレットまたはシークレットの特定のフィールドを取得します。
ksm secret get <レコードUID>
以下のパラメータの少なくとも1つが必要です。
<レコードUID>レコードを1つ取得する場合は、レコードUIDをコマンドライン引数に含めることができます。-u、--uid <レコードUID>IDで特定のレコードを取得します。-uを複数使用して、複数のレコードを取得できます。-t、--title <RECORD TITLE>タイトルで特定のレコードを取得します。
オプションパラメータ
-f、--field <Field Type or Custom Field Label>ラベルまたはタイプによる特定フィールド値の返却-q、--query <JSONPath Query>JSONPathクエリに一致する値のみの返却--jsonJSON形式での返却 (--query使用時は必須)--raw結果からの引用符削除--force-array結果が1件でも配列としての返却--unmask表形式でのパスワード値の表示--inflate/--deflate他レコード参照の展開/非展開 (既定は展開)
レコードUIDが「-」で始まる場合は、以下のように先頭に「--」を付けます。
ksm secret get -- <レコードUID>
--query スイッチでは、XPathに基づくクエリ構文であるJSONPathを使用します (仕様)。
例1: 表形式での出力
例2: 表形式での出力 (パスワードをマスクしない)
例3: パスワードフィールドの取得 (以下の2通り)
例4: カスタムフィールド値の取得 (以下の2通り)
クエリ構文は柔軟で、JSONオブジェクト内の任意の値を取得できます。カスタムフィールド値を指定する際は、\ と = を \ でエスケープしてください。
例5: 個別シークレットの生JSON取得
add
ボルトにレコードを追加します。既存レコードのクローン、ビジュアルエディタ、ファイル、フィールド引数の4通りから選べます。
レコードが正常に追加されると、標準出力にレコードUIDが出力されます。その他のテキストがある場合は標準エラーに表示されます。
editor
editor コマンドで、プレースホルダ値を含むレコードでエディタアプリケーションを起動します。プレースホルダの値を置き換えるか、値をすべて削除します。エディタアプリケーションは ksm config editor で設定するか、または EDITOR 環境変数で指定されたエディタを使用します。エディタが未設定の場合、インストール済みのエディタが自動的に検索されます。
UIを搭載したエディタを設定できます。WindowsおよびMac OSの場合、エディタから、レコードのテンプレートにプレースホルダが残っていると警告がある場合は、ブロッキングを有効にする必要があります。ブロッキングしない場合、編集が完了する前にCLIがレコードを処理しようとするためです。
macOSでは、ブロッキングが有効な場合、アプリケーションが完全に終了するまで待機してからレコードデータを処理します。完全に終了するとは、アプリケーションが閉じられてDockに表示されなくなることであり、エディタウィンドウが閉じられただけではありません。
Windowsでは、ブロッキングが有効な場合、エディタのプロセスがタスクリストから消えるまで待機します。アプリケーションが.batファイルまたは.cmdファイルを使用して起動された場合、プロセス名は起動されたアプリケーションとは異なります。これを適切に処理するには、ksm config editor を使用してエディタを設定します。
エディタがブロックせず、テンプレートマーカーに関するメッセージが表示された場合は、rと入力してファイルを再検査できます。これは、レコードの編集が完了して保存されたときに実行できます。
ksm secret add editor --sf <ストレージフォルダUID> --rt <レコードタイプ> [--title "TITLE"] [--notes "NOTES"] [-p] [-o yaml | json]
必須パラメータ
--storage-folder-uid, --sf 新しいシークレットレコードが作成されるストレージフォルダのUID。
--record-type, --rt シークレットレコードのレコードタイプ。
オプションパラメータ
--title, -t シークレットレコードのタイトル。
--notes, -n シークレットレコードに関連付けられたメモ。
--password-generate, -p 値が設定されていないパスワードフィールドのパスワードを生成します。
--output-format, -o エディタのテンプレートの出力形式。JSONまたはYAMLのいずれかを指定できます。デフォルトはJSONです。
--editor, -e エディタを上書きします。このパラメータを使用する場合、エディタがブロックします。
例
プレースホルダ値を持つログインレコードでエディタを起動します。値を設定するか、値をすべて置換してファイルを保存し、ブラウザを終了させます。
値がない場合は、「値」のキー/値の行全体を削除できます。フィールドを削除する必要はありません。
file
file コマンドは editor コマンドに似ていますが、2段階で実行するところが異なります。最初に ksm secret template コマンドでプレースホルダ付きレコードファイルを取得し、その後プレースホルダ値を置き換えてこのコマンドでファイルを読み込み、レコードを作成します。
このコマンドを使用すると、一度に複数のレコードを作成できます。
ksm secret add file --sf <ストレージフォルダUID> -f <テンプレートファイル> [-p]
必須パラメータ
--storage-folder-uid, --sf 新しいシークレットレコードが作成されるストレージフォルダのUID。
--file, -f レコードテンプレートファイルのパスと名前。
オプションパラメータ
--password-generate, -p 値が設定されていないパスワードフィールドのパスワードを生成します。
例
プレースホルダ値を含む銀行口座レコードタイプを保存します。お気に入りのエディタで編集して保存します。次に、ksm secret add file コマンドを使用して追加します。また、空白のパスワードフィールドがあれば、パスワードも生成されます。
field
field コマンドは、キー/値の引数をコマンドに渡してレコードの値を設定します。
ksm secret add field <--sf ストレージフォルダUID> <--rt レコードタイプ> <--title "タイトル"> [--notes "<メモ>"] [-p] <"フィールド" ...>
必須パラメータ
--storage-folder-uid, --sf 新しいシークレットレコードが作成されるストレージフォルダのUID。
--record-type, --rt シークレットレコードのレコードタイプ。
--title, -t シークレットレコードのタイトル。
FIELDS フィールドとその値からなるキー/値のペア。複数のフィールドを指定できます。
オプションパラメータ
--notes, -n シークレットレコードに関連付けられたメモ。
--password-generate, -p 値が設定されていないパスワードフィールドのパスワードを生成します。
例
field の構造は、[field section .]<field type>[[field label]][. value key]<=value> となります。
field section は、フィールドを設定する場所です。「f」は標準フィールド、「c」はカスタムフィールドです。設定しない場合、デフォルトで標準フィールドになります。
field type は必須となります。標準フィールドセクションの場合、フィールドタイプはレコードタイプスキーマの一部である必要があります。存在しないフィールドを追加しようとすると、エラーが表示されます。ユーザー設定フィールドセクションの場合、どのフィールドタイプでも追加できます。追加順に配列されます。
field label はオプションです。フィールドラベルは、field type の直後に [] で囲みます。カスタムフィールドセクションでは、ラベルが設定されていない場合、レコードフィールドタイプがUIで使用されます。
value key は、phone、bankAccount、name などの複合値を持つフィールドタイプのオプションです。value key を使用すると、値をJSON値として設定する代わりに、別々に作成できます。
value は、「=」文字の後から始まります。値が複雑な場合は、JSONが値として設定されます。JSONを使用する場合は、フィールドを適切に引用符で囲んでください。JSONで二重引用符を使用する場合は、フィールドを一重引用符で囲みます。両方が必要な場合は、引用符をバックスラッシュ (\) でエスケープする必要があります。
ルール
標準フィールドの場合、フィールドの設定順序は重要ではありません。フィールドは、レコードタイプスキーマによって並べ替えられます。レコードタイプスキーマ標準フィールドに存在しないフィールドは、標準フィールドに追加できません。
カスタムフィールドの場合、フィールドはフィールド引数の順序と同じ並びになります。
同じタイプのフィールドが複数ある場合は、field label を指定して一意にする必要があります。
値キー
値キーを使用した値の設定は、1つのフィールドを設定する場合に便利ですが、同じタイプの別のフィールドを設定する場合や、フィールドに複数の値 (電話番号) を指定する場合にはルールがあります。
同じタイプのフィールドを複数設定する場合、field label を使用して、フィールドを一意にします。
field label を使用しない場合、前の値が既存の値を上書きします。
JSON値
値はJSON値に設定できます。複数の値を指定できるフィールドの場合、JSON値を設定すると、完全な値と見なされます。つまり、value key がJSON値の後に来ると、そのフィールドに新たな値が追加されます。以下の例では、2つの値を持つ電話番号フィールドを作成します。
JSON値がJSONオブジェクトの配列である場合、このフィールドはすべて揃ったフィールドと見なされます。つまり、フィールドに新たな値を追加することはできません。以下では、最後のフィールドが一意でないというエラーが発生します。フィールドを一意にするには、field label を追加します。
delete
アプリケーションに関連付けられたシークレットを削除します。
ksm secret delete
--uid <レコードUID>レコードUIDでレコードを削除します。
オプションパラメータ
--jsonJSON形式で返します。
例1: 表形式
例2: JSON形式
clone
clone コマンドで、新しいタイトルを設定するオプションを使用して、既存のレコードのデータを使用して新しいレコードを作成します。
ksm secret add clone --uid <レコードUID> --title "タイトル"
必須パラメータ
--uid, -u 既存のレコードのレコード UID。
オプションパラメータ
--title, -t 新しいレコードのタイトル。
例
update
既存のシークレット内の既存のフィールドを更新します。
一部のフィールドタイプは複合的です。これは、値に配列や値の連想配列が含まれることを意味します。複合的なフィールドタイプを使用している場合は、--field-json と --custom-field-json を使用して、値を設定する必要があります。JSON構造については、こちらのページをご参照ください。
ksm secret update --uid <レコードUID>
オプションパラメータ
--field特定の標準フィールド値の更新--custom-field特定のカスタムフィールド値の更新--field-jsonJSONによる特定の標準フィールド値の更新 (複合フィールド値向け)--custom-field-jsonJSONによる特定のカスタムフィールド値の更新 (複合フィールド値向け)--title, -tシークレットタイトルの更新--notes, -nシークレットメモの更新
更新は、既存のフィールドラベルとカスタムフィールドラベルのキーと照合します。「=」文字の後に表示されるものはすべて値と見なされます。パラメータ値を引用符で囲む場合を除き、値をエスケープする必要はありません。
例1: 基本的な使用例
例2: 値にスペースや引用符が含まれる場合
キーまたはフィールドの値にスペースが含まれる場合は、パラメータ値全体を引用符で囲みます。値に引用符が含まれる場合 (JSONなど) は、一重引用符で囲みます。
upload
ボルト内の既存のシークレットに添付ファイルをアップロードします。
ksm secret upload -u <レコードUID> --file "<ファイル名>" --title "<ファイルのタイトル>"
パラメータ
-u, --uid <レコードUID>アップロード先のシークレットの UID (必須)-f, --file <ファイル名>アップロードするファイルへのファイルパス (必須)-t, --title<ファイルのタイトル>(指定されていない場合はファイル名 (パスなし) がデフォルトになります (オプション)
例
download
ボルトのシークレットからSSH鍵などの添付ファイルをダウンロードします。
ksm secret download -u <レコードUID> --name "<ファイル名>" --file-output "<ファイル出力先>"
オプションパラメータ
-u、--uid <レコードUID>ダウンロードするシークレットのUID (必須)--name <ファイル名>ダウンロードするファイルの名前 (必須)--file-output <ファイル名 | STDOUT | STDERR>ファイルの内容を書き込む場所 (必須)--create-foldersファイル名のパスのフォルダを作成します。
例
delete-attachment
ボルト内のシークレットから添付ファイルを削除します。
ksm secret delete-attachment -u <RECORD UID> -f "<FILE_UID>" -file "<FILENAME>"
必須パラメータ
-u, --uid <RECORD UID>添付ファイルを含むシークレットのUID (必須)-f, --file <FILENAME|UID>削除するファイルの名前またはUID (必須)
例
template
レコードまたはフィールドタイプのテンプレート情報を表示します。
record
レコードタイプスキーマテンプレートとレコードタイプリストを取得します。
ksm secret template record [-l] [-o json | yaml] [-f 出力ファイル] [レコードタイプ]
以下のいずれかのパラメータが必要です。
--show-list, -l 利用可能なすべてのレコードタイプを一覧表示します。
RECORD TYPE このレコードタイプのスキーマテンプレートを取得します。
オプションパラメータ
--output-format, -o スキーマをJSONまたはYAMLとして出力します。デフォルトはJSONです。
--output-file, -f スキーマをファイルに出力します。
例1: レコードタイプの一覧取得
例2: bankAccount レコードタイプのスキーマ取得 (YAML)
field
フィールドタイプスキーマとフィールドタイプリストを取得します。
以下のいずれかのパラメータが必要です。
--show-list, -l 利用可能なすべてのフィールドタイプを一覧表示します。
FIELD TYPE このフィールドタイプのスキーマを取得します。
オプションパラメータ
--output-format, -o スキーマをJSONまたはYAMLとして出力します。デフォルトはJSONです。
例1: フィールドタイプの一覧取得
例2: フィールドタイプのスキーマ取得 (既定のJSON)
notation
ksm exec コマンドの環境変数置換をテストします。
ksm secret notation <NOTATION FIELD PATH>
このサブコマンドでは、keeper:// テンプレートURLでフィールド値を返し、環境変数置換の動作を確認できます。
例
環境変数置換の詳細については、Execコマンドをご参照ください。
レコードUIDが「-」で始まる場合は、UIDの前に「--」を付けてフィールドを取得します。
ksm secret notation -- <レコードUID>/field/password
totp
ボルトのシークレットのTOTPフィールドから有効なパスコードを生成します。
ksm secret totp <レコードUID>
必須パラメータ
<レコードUID>TOTPフィールドを含むシークレットのUID
例
password
ランダムなパスワードを生成します。
ksm secret password --length <パスワードの長さ> --lc <小文字の数> --uc <大文字の数> -d <数字の数> --sc <記号の数>
オプションパラメータ
--length または文字グループカウント (--lc, --uc, --digits, --sc) を使用します。文字グループカウントパラメータを使用すると、長さはそれらの値の合計になります。
合計長。文字グループの値は、その長さから自動的に均等に分割されます。
--length, -lパスワードの長さ。これにより、小文字、大文字、数字、記号の間でこの長さが分割されます。
文字グループ
-lc= 小文字の数。-uc= 大文字の数。-d= 数字の数。-sc= 記号の数。
例
「-」で始まるレコードUID
レコードUIDが「-」 (ダッシュ/ハイフン) で始まる場合、KSM CLIで使用するには先頭に「--」を付けます。
例
ksm secret get -- -id8QpE2ZAkdd4KlCfoWQ
*この例のUIDは実際のレコードUIDではありません。
詳細については、トラブルシューティングをご参照ください。
最終更新

