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

レコードの作成と更新

record-addおよびrecord-updateコマンドに関する詳細

record-addコマンド

本ページには、Keeperコマンダーにおける record-add コマンドを使用したレコードの作成方法について、包括的な例を記載しています。このコマンドでは、フィールド指定にドット記法を、複雑なフィールドには $JSON: 構文をサポートしています。

Keeperコマンダーでは、行末にバックスラッシュ (\) を使用することで、長いコマンドを複数行に分割して記述でき、可読性が向上します。


コマンド構文

record-add --title "Record Title" --record-type "RECORD_TYPE" [OPTIONS] [FIELDS...]

主な引数

引数
説明

--title / -t

レコードのタイトル (必須)

--record-type / -rt

レコードタイプ (必須)

--notes / -n

レコードのメモ (任意)

--folder

レコードを保存するフォルダのパスまたはUID (任意)

--force / -f

警告を無視して実行 (任意)

--syntax-help

フィールド構文のヘルプを表示


フィールド構文の概要

ドット記法の形式

各要素の説明

要素名
説明

FIELD_SET

任意。f (標準フィールド) またはc (カスタムフィールド) を指定可能

FIELD_TYPE

フィールドタイプ (例: loginpasswordurlなど)

FIELD_LABEL

任意。フィールドにラベルを付ける場合に使用

FIELD_VALUE

フィールドに設定する値


特殊な値の構文

構文
説明

$JSON:{"key": "value"}

複雑なオブジェクト型フィールドに使用

$GEN

パスワード、TOTPコード、鍵ペアなどを自動生成

$BASE64:<base64_string>

任意の文字列フィールド向けにBase64デコードした値を展開

file=@filename

ファイルの添付。@のあとにファイルパスを指定


レコードタイプ

Keeperコマンダーでは、以下の2種類のレコードタイプがサポートされています。

  • タイプ付きレコード あらかじめ定義されたスキーマに基づく構造化レコード (例: ログイン、銀行口座、連絡先など)

  • レガシーレコード 一般的なレコード形式。使用時は-rt legacyまたは-rt generalを指定します。


フィールドタイプと例

単純フィールドタイプ

フィールドタイプ
説明

login

ユーザー名/ログインID

password

パスワード (マスク表示)

url

ウェブサイトのURL

email

メールアドレス

text

プレーンテキスト

multiline

複数行のテキスト

secret

マスクされたテキストフィールド

note

マスクされた複数行のテキスト

oneTimeCode

TOTP/2要素認証コード (2FA)

date

Unixエポックタイムまたは日付文字列


複雑フィールドタイプ

$JSON: 構文で指定する必要があります。

フィールドタイプ
説明

phone

電話番号 (地域情報や種別を含む)

name

氏名 (名、ミドルネーム、姓)

address

住所 (郵便番号、都道府県、市区町村、番地など)

paymentCard

クレジットカード情報

bankAccount

銀行口座情報

securityQuestion

セキュリティ質問と回答のペア

host

ホスト名とポート番号の組み合わせ

keyPair

SSH鍵ペア

クイックスタート例

基本的なログインレコード

1行版 (コピー&ペースト向け・推奨)

複数行版 (手入力向け。コピー&ペーストは非推奨)


電話番号付きの基本的な連絡先レコード


複数レコードのスクリプト実行

Keeperコマンダーでは、run-batch または runコマンドでスクリプト化できます。複雑なオブジェクト用の正しいJSON形式を得る手順は、ウェブボルトでレコードを1件作成し、コマンダーで get UID --format=json を実行すると、$JSON:{"key": "value"} の形で確認できる点が簡単です。その内容をもとにバッチを組み立てて実行します。

レコードタイプ別の詳細な使用例

1. ログイン情報レコード

2. 銀行口座レコード

3. クレジットカードレコード

4. 連絡先レコード

5. 住所レコード

6. サーバーの認証情報

7. SSHキー

8. ソフトウェアライセンス

9. WiFiパスワード

10. メモ

11. データベース認証情報

12. 運転免許証

13. パスポート

14. 健康保険

15. メンバーシップ

16. 出生証明書

17. ソーシャルセキュリティカード

18. 写真レコード

19. 添付ファイル

PAM (特権アクセス管理) レコードタイプ

20. PAMデータベース

21. PAMディレクトリ

22. PAMマシン

23. PAMユーザー

24. PAMリモートブラウザ

PAM環境の例

各PAMレコードは、Keeperゲートウェイを参照するPAM構成に紐付けられています。このゲートウェイは通常、ローカルネットワーク内またはPAMリソースへのアクセスが可能な場所にインストールされます。以下は、新しいPAM環境を構成する際の基本的な出発点となる例です。

高度な機能

パスワード生成

パスフレーズの生成

$GEN:passphrase は、小文字の password フィールドにのみ指定できます。値は '$GEN:...' のようにシングルクォートで囲みます。

Password= には $GEN:passphrase は使えません。logingeneralserverCredentialsdatabaseCredentials など、組み込みのパスワードフィールドを持つレコードタイプでのみ利用できます。

contact のようにパスワードフィールドがないレコードタイプでは使えません。対象のレコードタイプにパスワードフィールドがあるかは、record-type-info --list-record <type> で確認できます。

構文:

パラメータ:

  • word_count: 5 から 9 のみ指定可能 (5 から 9 がボルトで利用できる範囲)

  • 範囲外の語数: エラー

  • 無効な値: エラー

  • separator: -._?!space のいずれか

  • $GEN 構文では spspace の別名として指定可能

  • capitalize: true または false のみ

  • number: true または false のみ

  • ブール値: 大文字小文字を区別しない

  • trfatest などの部分一致値: エラー

有効な例:

パスフレーズの検証とエラー

エンタープライズポリシーは、引き続き passphrase-allow、語数、区切り文字を制御します。

CLIで capitalizenumber を明示的に false と指定しない限り、コマンダーはパスフレーズ生成時に語の先頭を大文字にし、先頭の語に数字を付与します。エンタープライズポリシーで大文字や数字がオフの場合、ボルトUIとは動作が異なります。

無効な $GEN 構文が指定された場合、コマンドは実行されず、レコードの作成・更新は行われません。

--force はパスワードポリシーの警告のみを無視します。$GEN 構文エラーには --force も効きません。

以下が構文エラーに該当します。

  • $GEN:pas,7,_$GEN:passphra,7,_ などの未知のアルゴリズム

  • *@# などの無効な区切り文字

  • $GEN:passphrase,9,_,true, などの末尾カンマ

  • 範囲外の語数

  • trfatest などの部分一致ブール値

無効な例:

ポリシーの適用

ログイン中のユーザーのエンタープライズロールにポリシーが設定されている場合、以下が適用されます。

  • GENERATED_PASSWORD_COMPLEXITY: レコード内のパスワードがポリシー (長さ、小文字、大文字、数字、特殊文字の下限) を満たすか検証されます。条件を満たさない場合は警告が表示され、操作はブロックされます。続行するには --force を指定します

  • passphrase-allow: パスフレーズの生成は、エンタープライズポリシーで許可されている必要があります

  • passphrase-length: パスフレーズの word_count は、エンタープライズポリシーおよびボルトで利用できる 5 から 9 の範囲内である必要があります

  • passphrase-separator: パスフレーズの区切り文字は、-._?!、または space のいずれかである必要があります

  • RESTRICT_RECORD_TYPES: -rt / --record-type に渡した値が、ユーザーごとのブロック対象タイプ一覧と照合されます。制限に該当するタイプは、実行前にエラーで拒否され、--force では回避できません

  • $GEN: コマンド内でパスワードを生成するとき、$GEN は固定の既定値ではなく、パスワードの複雑さポリシーに沿った長さおよび文字種の下限を既定として用います

  • コマンダーの既定値: パスフレーズ生成では、CLIで明示的に false に設定しない限り、先頭大文字化と先頭語の数字がオンになります

  • --force の動作: --force で回避できるのはパスワードポリシーの警告のみです。無効な $GEN 構文は回避できません

TOTP/2FAの生成

SSHキーの生成

カスタムフィールド

一般フィールドのリファレンス

データ形式

電話番号形式

名前の形式

住所の形式

秘密の質問の形式

自動消滅型レコード (ワンタイム共有)

--self-destruct オプションを使用すると、一度開くと自動的に削除される一時的なレコードを作成できます。この機能は、一度しか閲覧してほしくない機密情報の共有に最適です。

自動消滅の仕組み

  • 指定した時間後に有効期限が切れる一時的な共有URLを作成します

  • レコードは、共有URLが初めて開かれるまで自分のボルト内に残ります

  • URLが開かれてから5分後に自動的に削除されます

  • 有効期限の最長期間は6か月です

構文

時間単位

自己破壊型レコードや一時的な共有リンクの有効期限には、以下の単位を使用できます。

  • m または minutes: 分 (※単位を省略した場合はデフォルトで分扱い)

  • h または hours: 時間

  • d または days: 日数

使用例

一時的パスワードの共有 (1時間後に失効)

一時的Wi-Fiパスワードの共有 (30分後に失効)

一時的なファイル共有 (24時間後に失効)

緊急連絡先情報の共有 (2時間後に失効)

レコードUIDと共有URLをJSONで出力

戻り値

--self-destruct を使用すると、1行目にレコードUID、2行目に共有可能なURLが返されます。

--format=json を指定すると、両方の値がJSONで返されます。


重要な注意事項

⚠️ セキュリティに関する注意点

  • URLが鍵です ― URLを知っている人は誰でもレコードにアクセスできます

  • 認証不要 ― 共有URLはログイン認証をバイパスします

  • 一度きりのアクセス ― レコードは最初の表示から5分後に自動削除されます

  • 復元不可 ― 一度削除されるとレコードは元に戻せません

⚠️ 制限事項

  • 有効期限は最大6か月

  • 自動削除レコードは更新不可

  • プレビュー不可 ― 作成後にレコードを再確認することはできません

  • 即時共有 ― URLは作成直後から有効になります


ベストプラクティス

  • レコードUIDと共有URLはすぐにコピーしてください。後から共有URLを取得することはできません

  • セキュリティ強化のため、短い有効期限 (数分~数時間) を設定しましょう

  • レコードの目的や背景を「ノート」に記録しておきましょう

  • URLは安全な方法(暗号化メッセージ、対面など)で共有しましょう

  • 一時的なアクセスには $GEN を使って強力なパスワードを生成しましょう

  • URLの有効期限前に受信者が受け取ったことを確認しましょう

活用事例

  • システム管理者向けの緊急アクセス認証情報

  • 外部委託先やコンサルタント用の一時パスワード

  • 機密ファイルの一度きりの文書共有

  • 来客用ネットワークのWi-Fi情報共有

  • チームメンバー間での安全な情報受け渡し

  • 自動化システム間での期限付きシークレット共有


ヒントとベストプラクティス

  • コピー&ペーストには1行のコマンドを使用し、行末のスペースによるエラーを防ぎましょう

  • シェルによる解釈を避けるため、JSONの値には引用符を使いましょう

  • パスワードをハードコードせず、$GEN を使用して安全に生成しましょう

  • $!"' などシェルで解釈されやすい文字を含むパスワードには、$BASE64: を使うとエスケープの手間を減らせます

  • 複雑なレコードを作成する前に、まずはシンプルなレコードでテストしましょう

  • 標準でないデータにはカスタムフィールド (c.) を活用しましょう

  • --folder パラメータでフォルダ整理を行い、レコードを体系化しましょう

  • --notes を使ってレコードの背景や目的を記録し、管理しやすくしましょう

トラブルシューティング (よくある問題と対処法)

「Expected: =, got: ; Missing =」エラー

  • 複数行コマンドのバックスラッシュの後にスペースを入れないようにしてください

  • コピー&ペーストする際は、1行形式を使用してください

「Field type not supported」 (対応していないフィールドタイプ)

  • 使用可能なフィールドタイプは record-add --syntax-help で確認できます

  • 標準外のフィールドにはc.接頭辞付きのカスタムフィールドを使ってください

JSON解析エラー

  • JSONが正しく引用されていることを確認してください

  • JSON内のシングルクォートは '\'' のようにエスケープしてください

  • JSONオブジェクト内ではダブルクォート ( " ) を使用してください

ファイル添付のエラー

  • ファイルパスの前に @ を付けてください (例: file=@/path/to/file.txt)

  • ファイルパスが正しくアクセス可能なことを確認してください

  • 相対パスではなく絶対パスの使用を推奨します

record-addrecord-update の違い

record-add は新しいレコードを作成するためのコマンドであり、record-update は既存のレコードを編集するために使用します。以下は主な違いの比較です。

record-add
record-update

目的

新規レコードの作成

既存レコードの編集

レコード識別子

不要

必須 (-rまたは--recordを指定)

レコードタイプ

必須 (-rt)

任意 (変更も可能)

フィールドの動作

すべてのフィールドを設定

指定したフィールドのみ更新

メモの動作

新規に設定

+接頭辞付きで追記、接頭辞なしで上書き

record-updateの構文

主な引数

  • --record / -r: レコードのタイトルまたは UID (必須)

  • --title / -t: レコードのタイトルを更新

  • --record-type / -rt: レコードタイプを変更

  • --notes / -n: メモを更新 (先頭に+を付けると追記、それ以外は上書き)

  • --force / -f: 警告を無視して実行

使用例

パスワードとURLを更新

既存の連絡先に電話番号を追加

メモに追記 (先頭の + に注意)

タイトルを変更し、カスタムフィールドを追加

レコードタイプの変更 (構造を変換)

各コマンドの用途

record-add

  • 新しいレコードを作成するとき

  • すべてのフィールドを一から指定したいとき

  • 初期のレコード構造を設定するとき

record-update

  • 既存のレコードを編集したいとき

  • 既存のレコードに新しいフィールドを追加するとき

  • パスワードや認証情報を更新したいとき

  • メモに情報を追記したいとき

  • レコードタイプを変換したいとき

重要な注意点

  • record-update は指定したフィールドのみを変更します

  • 指定していない既存のフィールドはそのまま保持されます

  • field= のように値を空にすると、そのフィールドを消去できます

  • メモに + を付けると追記、付けない場合は上書きになります

ヘルプ表示

最終更新