For the complete documentation index, see llms.txt. This page is also available as Markdown.

secretコマンド

Keeperボルトのシークレットとファイル添付の管理

secret コマンド

説明: ボルトからシークレットを取得し、レスポンスを解析します。

パラメータ

実行するサブコマンド

形式: ksm secret <サブコマンド>

サブコマンド

サブコマンド
説明

list

関連アプリケーションのシークレット一覧表示

get

ボルト内シークレットまたは特定フィールドの取得

add

ボルトへの新規シークレット追加

update

既存シークレット内フィールドの更新

delete

ボルトからのシークレット削除

upload

既存シークレットへのファイル添付のアップロード

download

名前指定によるファイル添付のダウンロード

delete-attachment

ファイル名またはUIDによる添付の削除

template

レコードタイプテンプレートの表示

notation

exec 向け環境変数テンプレートのテスト

totp

TOTPフィールドからのパスコード生成

password

パスワード生成

list

アプリケーションに関連付けられているすべてのシークレットを一覧で表示します。

ksm secret list

オプションパラメータ

  • --json JSON形式での返却

  • --uid <レコードUID> レコードUIDによる特定レコードの取得

  • -t, --title <REGEX> タイトルが正規表現に一致するレコードの取得

  • -f, --folder <フォルダUID> 指定フォルダ内レコードのみの一覧表示

  • -r, --recursive サブフォルダを含む再帰的な一覧表示

  • -q, --query <JSONPathクエリ> JSONPathクエリに一致するレコードのみの一覧表示

  • -v, --show-value JSONPath使用時の一致値の出力 (タイトルに代えて)

--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クエリに一致する値のみの返却

  • --json JSON形式での返却 (--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がレコードを処理しようとするためです。

エディタがブロックせず、テンプレートマーカーに関するメッセージが表示された場合は、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 は、phonebankAccountname などの複合値を持つフィールドタイプのオプションです。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でレコードを削除します。

オプションパラメータ

  • --json JSON形式で返します。

例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-json JSONによる特定の標準フィールド値の更新 (複合フィールド値向け)

  • --custom-field-json JSONによる特定のカスタムフィールド値の更新 (複合フィールド値向け)

  • --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ではありません。

詳細については、トラブルシューティングをご参照ください。

最終更新