secretコマンド
Keeperボルトからシークレットとファイル添付を取得
secret
コマンド
secret
コマンド**説明:**ボルトからシークレットを取得し、レスポンスを解析します。
パラメータ:
実行するサブコマンド
形式: ksm secret <sub-command>
サブコマンド:
list
アプリケーションに関連付けられているすべてのシークレットを一覧で表示します
ksm secret list
--json
json形式で返します--uid <RECORD UID(s)>
UID記録で特定の記録を取得します
例1:表形式
**例2:**JSON形式
get
ボルトのシークレットまたはシークレットの特定のフィールドを取得します
ksm secret get <RECORD UID>
以下のパラメータの少なくとも1つが必要です。
<RECORD UID>
- 記録を1つ取得する場合は、UID記録をコマンドライン引数に含めることができます。-u、--uid <RECORD UID>
一意のIDで特定の記録を取得します。-uを複数使用して、複数の記録を取得できます。-t、--title <RECORD TITLE>
タイトルで特定の記録を取得します。
オプションパラメータ:
-f、--field <Field Type or Custom Field Label>
ラベルまたはタイプによって特定のフィールドの値を返します-q、--query <JSONPath Query>
シークレット内の特定のフィールドを取得します--json
JSON形式で返します(--queryを使用する場合に必須)--raw
結果から引用符を削除します--force-array
結果が1つしかない場合でも結果を配列として返します--unmask
テーブルビューでパスワード値を表示します--inflate/--deflate
デフォルトでは、他の記録への参照は記録に読み込まれます。--deflateを使用すると、参照記録は記録に読み込まれません
UID記録がダッシュ(「-」)で始まる場合は、「--」を前に付加してその記録を取得します
ksm secret get -- <RECORD UID>
--queryスイッチは、XPathをベースにしたクエリ構文であるJSONPathを使用します https://tools.ietf.org/id/draft-goessner-dispatch-jsonpath-00.html
例1: シークレットを表形式でコンソールに出力します
例2: シークレットを表形式でパスワードを隠さずにコンソール出力します
例3: シークレットからパスワードフィールドを取得。これには2つの異なる方法があります。
例4: 特定のカスタムフィールド値を取得。これには2つの異なる方法があります。
このクエリ構文は非常に柔軟で、JSONオブジェクトを検索してあらゆる種類の目的のレスポンスを見つけるために使用できます。リクエストにカスタムフィールド値を入力するときは、「\」と「=」文字を「\」文字でエスケープしてください。
例5: 個々のシークレットのraw JSONを取得。
add
ボルトに記録を追加します。シークレット記録を追加する方法は、次の3つがあります。GUI操作のエディタ、ファイル、フィールド引数。
記録が正常に追加されると、標準出力にUID記録が出力されます。その他のテキストが表示される場合がありますが、これは標準エラーです。
editor
editorコマンドは、プレースホルダ値を含む記録でエディタアプリケーションを起動します。プレースホルダの値を置き換えるか、値をすべて削除します。エディタアプリケーションはksm config editor
で設定するか、またはEDITOR環境変数で指定されたエディタを使用します。エディタが設定されていない場合、CLIはインストールされているエディタの検索を試みます。
UIを搭載したエディタを設定できます。WindowsおよびMacOSの場合、エディタから、記録のテンプレートにプレースホルダが残っているとすぐさま警告される場合は、ブロックを有効にする必要があります。これは、ブロックしないと、編集が完了する前にCLIが記録を処理しようとするためです。
MacOSのブロックは、アプリケーションが完全に終了するまで待機してから記録データを処理します。完全に終了するというのは、アプリケーションが閉じられてドックに表示されなくなったことを意味し、エディタウィンドウが閉じられたことを意味するものではありません。
Windowsのブロックは、エディタのプロセスがタスクリストから消えるまで待機します。アプリケーションが.batファイルまたは.cmdファイルを使用して起動された場合、プロセス名は起動されたアプリケーションとは異なります。これを適切に処理するには、ksm config editor
を使用してエディタを設定します。
エディタがブロックせず、テンプレートマーカーに関するメッセージが表示された場合は、rと入力してファイルを再検査できます。これは、記録の編集が完了して保存されたときに実行できます。
ksm secret add editor --sf <SHARED FOLDER UID> --rt <RECORD TYPE> [--title "TITLE"] [--notes "NOTES"] [-p] [-o yaml | json]
必須パラメータ:
--shared-folder-uid、--sf
新しいシークレット記録が作成される共有フォルダのUID。
--record-type、--rt
シークレット記録の記録タイプ。
オプションパラメータ:
--title, -t
シークレット記録のタイトル。
--notes, -n
シークレット記録に関連付けられたメモ。
--password-generate, -p
値が設定されていないパスワードフィールドのパスワードを生成します。
--output-format, -o
エディタのテンプレートの出力形式。JSONまたはYAMLのいずれかを指定できます。デフォルトはJSONです。
--editor, -e
エディタを上書きします。このパラメータを使用する場合、エディタがブロックします。
例:
プレースホルダ値を持つログイン記録でエディタを起動します。値を設定するか、値をすべて置換してファイルを保存し、ブラウザを終了させます。
値がない場合は、「値」のキー/値の行全体を削除できます。フィールドを削除する必要はありません。
file
fileコマンドは、2つの手順で実行されることを除くと、editorコマンドに似ています。最初の手順では、ksm secret templateコマンドを使用して、プレースホルダ記録ファイルを取得します。次に、プレースホルダ値を置き換え、このコマンドを使用してそのファイルを読み込み、記録を作成します。
このコマンドを使用すると、一度に複数の記録を作成できます。
ksm secret add file --sf <SHARED FOLDER UID> -f <TEMPLATE FILE> [-p]
必須パラメータ:
--shared-folder-uid、--sf
新しいシークレット記録が作成される共有フォルダのUID。
--file, -f
記録テンプレートファイルのパスと名前。
オプションパラメータ:
--password-generate, -p
値が設定されていないパスワードフィールドのパスワードを生成します。
例:
プレースホルダ値を含む銀行口座記録タイプを保存します。お気に入りのエディタで編集して保存します。次に、ksm secret add file
コマンドを使用して追加します。また、空白のパスワードフィールドがあれば、パスワードも生成されます。
field
fieldコマンドは、キー/値の引数をコマンドに渡して、記録の値を設定します。
ksm secret add field <--sf SHARED FOLDER UID> <--rt RECORD TYPE> <--title "TITLE>"> [--notes "<NOTES>"] [-p] <"FIELDS" ...>
必須パラメータ:
--shared-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
を追加します。
update
既存のシークレット内の既存のフィールドを更新します。
一部のフィールドタイプは複合的です。これは、値に配列や値の連想配列が含まれることを意味します。複合的なフィールドタイプを使用している場合は、--field-json
と--custom-field-json
を使用して、値を設定する必要があります。JSON構造については、こちらをご参照ください。
ksm secret update --uid <RECORD UID>
オプションパラメータ:
--field
- シークレットの特定の標準フィールドの値を更新します。--custom-field
- シークレットの特定のカスタムフィールドの値を更新します。--field-json
- JSONを使用して、特定の標準フィールドの値を更新します。複合フィールド値に使用します。--custom-field-json
- JSONを使用して、特定のカスタムフィールドの値を更新します。複合フィールド値に使用します。
更新は、既存のフィールドラベルとカスタムフィールドラベルのキーと照合します。「=」文字の後に表示されるものはすべて値と見なされます。パラメータ値を引用符で囲む場合を除き、値をエスケープする必要はありません。
例1:基本的なユースケース
**例2:**キーまたはフィールドの値にスペースが含まれている場合は、パラメータ値全体を引用符で囲む必要があります。値に引用符が含まれている場合は、パラメータ値を別の引用符で囲む必要があります。たとえば、値にJSONが含まれている場合は、パラメータ値を一重引用符で囲みます。
download
ボルトのシークレットからSSH鍵などの添付ファイルをダウンロードします
ksm secret download -u <RECORD UID> --name "<FILENAME>" --file-output "<OUTFILE>"
オプションパラメータ:
-u、--uid <RECORD UID>
ダウンロードするシークレットのUID(必須)--name <FILENAME>
ダウンロードするファイルの名前(必須)--file-output <FILENAME | STDOUT | STDERR>
ファイルの内容を書き込む場所(必須)--create-folders
ファイル名のパスのフォルダを作成します
例:
template
記録またはフィールドタイプのテンプレート情報を表示します。
record
記録タイプスキーマテンプレートと記録タイプリストを取得します。
ksm secret template record [-l] [-o json | yaml] [-f OUTPUT FILE] [RECORD TYPE]
以下のいずれかのパラメータが必要です。
--show-list, -l
利用可能なすべての記録タイプを一覧表示します。
RECORD TYPE
- この記録タイプのスキーマテンプレートを取得します。
オプションパラメータ
--output-format, -o
スキーマをJSONまたはYAMLとして出力します。デフォルトはJSONです。
--output-file, -f
スキーマをファイルに出力します。
例1: 記録タイプの一覧を取得します
例2: YAMLのbankAccount
記録タイプのスキーマを取得します。
フィールド
フィールドタイプスキーマとフィールドタイプリストを取得します。
以下のいずれかのパラメータが必要です。
--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の前に「--」を追加し、notationでフィールドを取得します
ksm secret notation -- <RECORD UID>/field/password
totp
ボルトのシークレットのTOTPフィールドから有効なパスコードを生成します。
ksm secret totp <RECORD UID>
必須パラメータ:
<RECORD UID>
TOTPフィールドを含むシークレットのUID
例:
password
ランダムなパスワードを生成します。
ksm secret password --length <PASSWORD LENGTH> --lc <# OF LOWERCASE CHARS> --uc <# OF UPPCASE CHARS> -d <# OF DIGITS> --sc <# OF SPECIAL CHARACTERS>
オプションパラメータ:
--length
または文字グループカウント(--lc
, --uc
, --digits
, --sc
)を使用します。文字グループカウントパラメータを使用すると、長さはそれらの値の合計になります。
合計長。文字グループの値は、その長さから自動的に均等に分割されます。
--length, -l
= パスワードの長さ。これにより、小文字、大文字、数字、記号の間でこの長さが分割されます。
文字グループ
-lc
= 小文字の数。-uc
= 大文字の数。-d
= 数字の数。-sc
= 記号の数。
例:
「-」で始まるUID記録
UID記録が「-」(ダッシュ/ハイフン)で始まる場合、KSM CLIで使用するには、先頭に「--」を付ける必要があります。
例:
ksm secret get -- -id8QpE2ZAkdd4KlCfoWQ
*この例のUIDは実際のUID記録ではありません
詳細は、トラブルシューティングセクションをご参照ください
最終更新