高度な設定

コマンダーサービスモードで高度な構成をセットアップ

高度な構成

レート制限ルール

指定した時間枠内で許可する最大APIリクエスト数を定義します。

デフォルト値: 60/minute、600/hour、6000/day

入力形式: X/[minute|hour|day] または X per [minute|hour|day]

有効な例: 100/minute, 50/hour, 1000 per day

補足: 大文字・小文字は区別しません

IP Allow / IP Denyリスト

IPアドレスまたはIPネットワーク範囲に基づいてアクセス制御を行います。

IP許可リスト (ホワイトリスト)

  • 指定されている場合、このリストに含まれるIPのみがアクセス可能

  • 拒否リストより許可リストが優先

  • デフォルト: 0.0.0.0/0 (未指定の場合はすべて許可)

IP拒否リスト (ブラックリスト)

  • このリストに含まれるIPはアクセスが拒否されます

  • Allowリストが未指定、またはAllow対象外のIPの場合に適用

判定ロジック

  1. 許可リストが存在する場合 IPが許可リストに含まれるかを確認 → 許可/拒否

  2. 許可リストが空の場合 拒否リストを確認 → 該当する場合は拒否、該当しない場合は許可

入力形式: IPアドレスまたはCIDRブロックをカンマ区切りで指定

検証ルール: IPv4アドレスまたはCIDRブロックとして有効であること

有効な例: 192.168.1.1,10.0.0.0/24172.16.0.0/16

補足: 空リストも許可されます (検証スキップ)

暗号化設定

REST APIレスポンスに対してAES-256( GCM) 暗号化をオプションで適用できます。

入力形式: y または n

秘密鍵の検証ルール

  • 32文字であること

  • 使用可能文字: 英数字および @#$%^&+=

  • 空欄不可

補足: APIレスポンスの復号には秘密鍵が必要です。

トークン有効期限

REST APIトークンの有効期間を指定します。

入力形式: Xm, Xh, Xd (Xは正の数、m=分、h=時間、d=日)

検証ルール

  • 正の数であること

  • 単位は m / h / d のいずれか

  • 有効な例: 30m24h7d

補足: 空欄の場合、トークンは期限なしになります

コマンドリスト

API経由で公開するコマンドの一覧を指定します。

入力形式: Keeperコマンダーの有効なコマンドをカンマ区切りで指定

検証ルール

  • コマンダーCLIの help で表示される有効なコマンドであること

  • 空欄不可

  • 個々のコマンドにスペースを含めないこと

  • 有効な例: whoami,tree,list

構成形式

入力形式: json または yaml

検証ルール: 大文字・小文字を区別せず、jsonyaml のいずれかであること

実行モード

入力形式: foreground または background

  • Foregroundモード: 現在のターミナルセッションでサービスを実行

  • Backgroundモード: バックグラウンドプロセスとして実行し、ログをファイルに出力

検証ルール: 大文字・小文字を区別せず、foreground または background


複数APIトークンのサポート

ボルトに保存される service_config.yaml にはサービスのプロパティが記述されており、その中の records セクションで、特定のコマンドや有効期限を持つAPIキーを複数定義できます。

encryption: ''
encryption_private_key: ''
ip_allowed_list: 0.0.0.0/0
ip_denied_list: ''
is_advanced_security_enabled: n
ngrok: y
ngrok_auth_token: XXXXXXXXXX
ngrok_custom_domain: myname
ngrok_public_url: ''
cloudflare: n
cloudflare_tunnel_token:
cloudflare_custom_domain:
cloudflare_public_url: ''
tls_certificate: n
certfile: ''
certpassword: ''
port: 9090
rate_limiting: ''
queue_enabled: y
run_mode: foreground
fileformat: yaml
records:
- api-key: XXXXXXXX
  command_list: tree,record-add
  expiration_timestamp: '9999-12-31T23:59:59'
- api-key: XXXXXXXX
  command_list: get
  expiration_timestamp: '9999-12-31T23:59:59'

構成セキュリティ

重要なセキュリティ機能として、ローカルのサービス構成ファイルは自動的に秘密鍵で暗号化されます。これにより、APIキー、トークン、セキュリティ設定などの機密性の高い構成情報が保護されます。

最終更新