構成設定と使用法

自動化およびCLI利用のためのコマンダー構成ファイルについて

コマンダー構成ファイル

コマンダーに初めてログインすると、config.json ファイルが存在しない場合に作成されます。コマンダーをアプリケーションとして起動する場合、設定ファイルは以下の場所に作成されます。

  • MacOS / Linux: ~/.keeper

  • Windows: C:\Users\[USERNAME]\.keeper

コマンドラインやターミナルからコマンダーを使用する場合、config.json ファイルは現在のディレクトリに作成されます。ただし、--config オプションで別の場所を指定した場合は、その場所に作成されます。

構成ファイルの例

{
    "server": "keepersecurity.eu",
    "user": "[email protected]",
    "password": "your_password_here",
    "private_key": "yaeK4jMeIGNkSR2pi4xf2XGmYM094YMUoE8-QEW9CAA",
    "device_token": "g6RDMxr1t-bcVdBeBpz-xQ",
    "mfa_duration": "forever",
    "proxy": "http://proxy_user:proxy_password@host:port",
    "sso_master_password": false,
    "skip_records": false,
    "debug": false,
    "plugins": [],
    "commands": [],
    "timedelay":0
}

構成ファイルのオプション

  • server Keeperデータセンターのリージョン

    コマンダーはデフォルトで米国リージョンを使用します。そのため、他のリージョンにホストされているお客様は、設定ファイルでサーバーを指定する必要があります。

    リージョン
    「server」のプロパティ設定

    US

    https://keepersecurity.com

    EU

    https://keepersecurity.eu

    AU

    https://keepersecurity.com.au

    GOV

    https://govcloud.keepersecurity.us

    CA

    https://keepersecurity.ca

    JP

    https://keepersecurity.jp

  • debug 詳細な暗号出力とネットワークロギングを有効または無効にします。

    • true または false に設定

  • plugins 読み込むパスワードローテーションプラグインを設定します。

    • コマンダーのパスワードローテーションプラグインの詳細についてはこちらをご参照ください。

  • commands 実行するKeeperコマンドのカンマ区切りリスト

  • timedelay 指定したコマンドをX秒ごとに実行します。

    • 例: "timedelay":600 は10分ごとにコマンドを実行します。

  • private_key 新しいデバイスでコマンダーによって生成されたデバイスの秘密鍵。 この鍵は、ボルトデータの暗号化と復号化に使用されます。

  • device_token 新しいデバイスごとにバックエンドによって生成されるデバイストークン。デバイストークンは、デバイスを一意に識別するために使用され、セッションの動作を制御します。

  • proxy プロキシURL: schema://[user:password@]host:port ここでスキーマは以下のとおりです。

    • http HTTPプロキシ

    • socks5 ローカルDNSを使用したSOCKS5プロキシ

    • socks4 ローカルDNSを使用したSOCKS4プロキシ

    • socks4a リモートDNSを使用したSOCKS4プロキシ

    • socks5h リモートDNSを使用したSOCKS5プロキシ

  • sso_master_password エンタープライズSSOアカウントのマスターパスワードログインを強制します。

  • skip_records 値が true に設定されている場合、レコードの同期を防ぎます。 非常に大きなボールトを持つユーザーでは、ログイン後に全レコードを同期せずにコマンドを実行できるようになります。ログイン後にレコードの同期を強制するには、sync-down --force を使用してください。

    config.jsonの例: "skip_records": true,

  • config_storage 設定情報をAWS Secrets ManagerまたはAWS Key Management Serviceで保護することができます。

構成ファイルからのコマンドの実行

commands フィールドを使用すると、ログイン時に所定のコマンドを実行できます。

以下のように、実行するKeeperコマンダーコマンドのカンマ区切りリストを入力します。

config.json
{
 ...
 "commands": ["sync-down", "file-report -d"]
 ...
}

この例では、同期してから、ボルト内の利用可能なファイルのレポートをダウンロードします。

構成ファイルの場所

バイナリインストーラーからコマンダーを起動した場合、設定ファイルはユーザーのホームディレクトリ内の .keeper フォルダに作成されます。

Mac環境: ~/.keeper/config.json Windows環境: /Users/{Username}/Documents/.keeper/config.json

pip3またはソースからコマンダーを使用する場合、設定ファイルはコマンダー実行ファイルを起動したカレントフォルダに作成されます。

以下のように、コマンダー起動時に使用する設定ファイルを指定することもできます。

$ keeper shell --config /path/to/config.json

マルチサーバー環境での認証

複数のサーバーや動的に生成されるサーバー環境では、すべてのフィールドが入力され、デバイス識別子が「承認」されていれば、同じ config.json ファイルを各インスタンスで使用できます。

config.json ファイルの例

{
    "user": "[email protected]",
    "password":"RANDOM_LONG_PASSWORD",
    "server": "https://keepersecurity.com",
    "private_key": "yaeK4jMeIGNkSR2pi4xf2XGmYM094YMUoE8-QEW9CAA",
    "device_token": "g6RDMxr1t-bcVdBeBpz-xQ"
}

少なくとも1度デバイス承認を行っていれば、この構成ファイルは任意の数のサーバーで読み込むことができます。

このファイルを複数のインスタンスに配布する場合は、クラウドインフラが提供する安全なストレージ機能で保護することを推奨します。また、Keeper管理コンソールでユーザーアカウントをIP範囲で制限されたロール適用ポリシーに割り当てることも推奨されます。

ログイン状態を維持

ログイン状態を維持を使用すると、コマンダーのデバイスが構成ファイルに「パスワード」を入力せずに Keeperに認証できるようになります。これは、自動化スクリプトや他のソフトウェアからコマンダーを呼び出す場合に便利です。

この機能を有効にするには、まずデバイスを登録し、ログイン状態を維持設定をオンにする必要があります。設定が完了すると、指定した構成ファイルで次回ログインした際にセッションが再開され、ユーザーは自動的にログインされます。セッションを自動的に再開するために、いくつかのトークンが config.json ファイルに保存されます。

ログイン状態維持の構成を作成

以下はデバイスで365日間 (最大) の永続ログインを有効にするコマンドです。

My Vault> this-device register
My Vault> this-device persistent-login on
My Vault> this-device ip-auto-approve on
My Vault> this-device timeout 365d
My Vault> quit

値として秒 (たとえば、60秒は60) または数字と文字 (たとえば、1分は1m、5時間は5h、7日は7d) を使用できます。

また、「logout」と入力するとセッションが無効になることにもご留意ください。終了するには、コマンダーセッションを「quit」します。

デバイスにログイン状態の維持を設定すると、ローカルフォルダの config.json は以下のようになります。

{
    "private_key":"8n0OqFi9o80xGh06bPzxTV1yLeKa5BdWc7f7CffZRQ",
    "device_token":"R2O5wkajo5UjVmbTmvWnwzf7DK1g_Yf-zZ3dWIbKPOng",
    "clone_code": "retObD9F0-WDABaUUGhP0Q",
    "user": "[email protected]",
    "server": "keepersecurity.com"
}

構成ファイルを変更して、コマンドの自動実行などの機能を利用することもできます。詳細については、こちらのページをご参照ください。

ログイン状態を維持セッションは任意の数作成できます。ただし、ログイン状態を維持のオプションは動的なマルチサーバー環境向けではありません。複数のサーバーで同じ構成ファイルを共有すると、2台目のサーバーにログインしようとした際にログイン状態を維持は失敗します。

動的なマルチサーバー環境の場合は、前述の、すべての項目が入力された構成ファイルを各インスタンスに配布する方法をご参照ください。

ログイン状態を維持を使用してコマンドを実行

異なる構成を維持したい場合は、指定した構成ファイルを使ってコマンダーを実行できます。例えば、以下のコマンドを使用すると、ログインを求められることなくCLIが起動します。

$ keeper --config=my_config.json shell

CLI を終了する場合は、「logout」ではなく「quit」と入力します。「logout」と入力するとセッションが期限切れとなり、新しいログイン状態を維持構成を作成する必要があります。

ログインを求められることなく特定のコマンドを実行することができます。以下の例では、1 行のコマンドで新しいレコードが自動的に作成されます。

$ keeper --config=config_demo.json "add --login myuser -g --url https://google.com -t 'Google'"

STDINを使用したバッチモード

一連のコマンドをまとめて実行し、作成したファイルをコマンダーのSTDINにパイプすることができます。例えば、次の内容で test.cmd というテキストファイルを作成します。

add [email protected] --pass=somemasterpass --url=https://google.com --force "Some Record Title"
upload-attachment --file="/path/to/some/file.txt" "Some Record Title"
share-record --email="[email protected]" --write "Some Record Title"

このファイルをバッチモードで実行するには以下を行います。

cat test.cmd | keeper --batch-mode -

または

keeper test.cmd

エラー処理

いずれかのコマンドが失敗すると、バッチ実行は中断されます。コマンドのエラーを無視したい場合は、コマンドの前に @ を付けて実行してください。

add [email protected] --pass=somemasterpass --url=https://google.com --force "Some Record Title"
@upload-attachment --file="/path/to/some/file.txt" "Some Record Title"
share-record --email="[email protected]" --write "Some Record Title"

Windowsのバッチモード

以下は、Windowsのコマンドラインで3つのコマンドを実行する例です。

(echo ls -l && echo whoami && echo tree) | keeper --batch-mode -

バッチモードとログイン状態を維持の組み合わせ

前述のように、ログイン状態を維持構成を設定すると、以下のようにログインのプロンプトを表示せずに一連のバッチコマンドを実行できます。

$ keeper --config=my_config.json bunch_of_commands.cmd

CLIからのバッチモード

CLI内からコマンドを手軽に逐次実行できるバッチモードに対応しています。

このコマンドは「run-batch」と呼ばれ、以下のように実行します。

My Vault> run-batch -d 10 "C:\My Drive\Keeper\commands.txt"

この例では、各コマンドは10秒の遅延を挟んで実行されます。

Linux環境では、以下のようにパスを指定することもできます。

My Vault> run-batch -d 5 "/path/to/file.txt"

HTTP REST API サービスモード

コマンダーでは、最小限のセットアップで導入できるネイティブの REST API統合が利用可能です。このモジュールを使用すると、REST APIインターフェイスを通じてコマンダーCLIコマンドを実行しながら、セキュリティと構成の柔軟性を維持できます。サービスはローカルで実行でき、必要に応じてNgrokやCloudflareトンネルと統合してルーティング可能なアドレスを作成することも可能です。

サービスモードREST APIの詳細についてはこちらのページをご覧ください。


保護されたストレージに設定を保存

機密性の高い設定ファイルのパラメータ (user、password、server、device_token、private_key、clone_code) は、サードパーティ製のシークレットマネージャまたはハードウェアセキュリティモジュールにオプションで保存できます。

保護されたストレージを使用するには、config_storage プロパティを設定ファイルに追加します。config_storage の値はURL形式です。ストレージのURL形式については、以下の各ページをご参照ください。

コマンダーでは、以下のストレージがサポートされています。


作業ディレクトリの設定

デフォルトでは、コマンダーは設定ファイルやログファイルを ~/.keeper に保存します。環境変数を使用してシステム全体の設定を行ったり、コマンドラインパラメータでセッションごとに上書きしたりすることで、この保存場所をカスタマイズできます。

  • デフォルト作業ディレクトリの構成


自動化

コマンダーには以下のような自動化機能が備わっています。

  • Windowsタスクによる自動化

  • AWS Lambdaによる自動化

最終更新