ポリシーのコントロール (ジョブの作成、変更、削除)

KEPMジョブの高度な構成

対象: IT管理者向けです。ジョブディレクトリ内のファイル、またはローカル管理APIを使ってジョブを作成変更削除する手順を説明します。

概要

  • 作成 — JobsディレクトリにJSONファイルを置く、リクエスト本文にジョブJSONを入れてPOST /api/Jobsを呼ぶ、またはJobUpdateポリシーで Action: "Add" を使う。

  • 変更 — ジョブJSONファイルを編集して保存 (ローダーが自動検知する場合あり)、更新済みJSONでPUT /api/Jobs/{jobId}を呼ぶ、またはJobUpdateポリシーで Action: "Update" を使う。

  • 削除 — Jobsディレクトリからジョブファイルを削除する、DELETE /api/Jobs/{jobId} を呼ぶ、またはJobUpdateポリシーで Action: "Delete" を使う。

ジョブのidは一意である必要があります。ファイルベースの場合、ファイル名{id}.json である必要があります。ジョブ: 定義と形式およびプラグインとジョブの登録をご参照ください。

ジョブの作成

方法 1: ファイルベース (新しい JSON ファイルを追加)

  1. ジョブidを決めます (例: my-maintenance-job)。ファイル名は my-maintenance-job.json になります。

  2. 少なくとも idnameenabled、および events または schedule (または両方)、tasks を含むジョブJSONを作成します。最小構成の例:

  3. ファイルを保存します。アプリケーションルート配下の Jobs/my-maintenance-job.json (例: C:\Program Files\KeeperPrivilegeManager\Jobs\my-maintenance-job.json)。JSON内のidがファイル名 (.jsonなし) と一致していることを確認します。

  4. ジョブの読み込み — ジョブサービスが Jobs ディレクトリを自動再スキャンする場合があります。そうでなければエージェントを再起動するか (製品が対応していれば) リロードをトリガーします。スケジュールまたはイベントに従いジョブが実行されます。

方法 2: API (POST)

  1. 事前検証 (任意): POST /api/Jobs/validate 本文: 完全なジョブ JSON。検証エラーを修正します。

  2. ジョブを作成: POST /api/Jobs 本文: 上記と同じ構造の完全なジョブ JSON。 認証: Admin (昇格済みスクリプトから、または必要な証明書で)。

  3. サービスがジョブを登録します。実装によっては JSON を Jobs ディレクトリへ書き出すこともあります。その後、トリガーおよび実行でジョブが利用可能になります。

例 (PowerShell、概念上):

ジョブの変更

方法 1: ファイルベース (JSON ファイルを編集)

  1. ジョブファイル (例: Jobs/my-maintenance-job.json) をエディタで開く

  2. 必要なフィールドを変更する (例: schedule.intervalMinutestasksenabledname)。idは同じにし、ファイル名は {id}.jsonのままにする。

  3. 保存する。ジョブローダーが自動で変更を取り込む場合があります。そうでなければエージェントの再起動またはジョブのリロード (利用可能な場合) を行います。

  4. 任意 — 製品がジョブ定義をキャッシュする場合、POST /api/PluginSettings/revert-allまたは文書化された「ジョブのリロード」手順を実行し、実行中のサービスが新しい定義を使うようにします。

方法 2: API (PUT)

  1. 現在のジョブを取得 (任意): GET /api/Jobs/my-maintenance-job で完全な定義を確認。

  2. JSON を編集する (スケジュールの変更、タスクの追加/削除、enabledfalse にするなど)。

  3. 更新: PUT /api/Jobs/my-maintenance-job 本文: 完全な更新後ジョブJSON。 認証: Admin

  4. サービスがジョブを更新します。以降の実行は新しい定義を使います。

例 (PowerShell、概念上):

ジョブの削除

方法 1: ファイルベース (ファイルを削除)

  1. アプリケーションルートから Jobs/{job-id}.json (例: Jobs/my-maintenance-job.json) を削除する。

  2. ファイルがなくなると (再スキャン後) ジョブサービスが実行を止める場合があります。そうでなければエージェントを再起動し、ジョブの登録を解除する。

方法 2: API (DELETE)

  1. ジョブを削除: DELETE /api/Jobs/my-maintenance-job 認証: Admin

  2. サービスがジョブの登録を解除します。実装によっては Jobs ディレクトリからファイルも削除します。ジョブは以降実行されません。

例 (PowerShell、概念上):

ポリシーでジョブを作成・変更・削除する (JobUpdate)

JobUpdate構成ポリシーを使うと、エンドポイント上でジョブを作成変更削除できます。ポリシーは追加・更新・削除するジョブを定義し、各エージェント上のProcess Configuration Policiesジョブがこれらのポリシーを読み、Jobsディレクトリ配下のジョブファイルを書き込みまたは削除します。各マシンでファイルを編集したりAPIを呼ばずに、ダッシュボードまたはポリシーストアからジョブを展開・変更できます。

動作の仕組み

  1. PolicyType"JobUpdate" とし、Extensionに以下を含むポリシーを作成します。

    • JobId — ジョブ id (例: my-maintenance-job)。プロセッサは Jobs/{JobId}.json に書き込みまたは削除します。

    • Action"Add" (作成)、"Update" (変更)、"Delete" (削除)。

    • JobJsonAddおよびUpdateのときのみ必須。完全なジョブJSON (ファイルまたはAPIと同じ構造)。Deleteのときは省略。

  2. 適切なコレクションまたはマシンへポリシーを展開します (例: Keeper管理コンソールまたはポリシーストアから)。

  3. 各エージェントでProcess Configuration Policiesジョブが実行されます (スケジュール、またはPOST /api/Jobs/{jobId}/runでトリガー)。すべてのJobUpdateポリシーを検出し、それぞれに対応するジョブファイルを Jobs/ 配下で追加、更新、または削除します。

  4. エージェント上のジョブローダーが新規または変更されたファイルを取り込みます (削除後はジョブが見えなくなります)。多くの場合エージェントの再起動は不要です。ジョブ定義をキャッシュする場合は、リロードまたは再起動が必要になることがあります。

ポリシーでジョブを作成する (Action: Add)

Extension付きのJobUpdateポリシーを作成します。

JobJsonは上記のような完全なジョブオブジェクトでも、JSONを格納した文字列でも構いません。JobJson内のidJobIdと一致させます。ポリシーを展開し、エージェントでProcess Configuration Policiesを実行するとジョブファイルが作成されます。

ポリシーでジョブを変更する (Action: Update)

同じPolicyType "JobUpdate"ExtensionAction"Update"、同じJobIdJobJson完全な更新後のジョブJSON (変更していないフィールドも含む) を設定します。プロセッサはジョブファイル全体を置換します。ポリシーを展開してProcess Configuration Policiesを実行するとジョブファイルが更新されます。

ポリシーでジョブを削除する (Action: Delete)

Extension付きのJobUpdateを使います。

DeleteではJobJsonは不要です。ポリシーを展開してProcess Configuration Policiesを実行すると Jobs/my-maintenance-job.json が削除されます。ジョブprocess-configuration-policiesは保護されており、JobUpdateポリシーでは削除できません。

まとめ (ポリシー方式)

アクション
Extension
結果

作成

JobIdAction: "Add"JobJson (完全なジョブ JSON)

Jobs/{JobId}.json を書き込み

変更

JobIdAction: "Update"JobJson (完全な更新後ジョブ JSON)

Jobs/{JobId}.json を上書き

削除

JobIdAction: "Delete" (JobJson なし)

Jobs/{JobId}.json を削除

構成ポリシーとプロセッサの実行方法の詳細は、ポリシーで設定を適用または変更するをご参照ください。

クイックリファレンス

アクション
ファイルベース
API
ポリシーによる適用

作成

完全なジョブJSONで Jobs/{id}.json を追加。JSONの id をファイル名と一致させる

本文にジョブJSONを入れたPOST /api/Jobs (Admin)

JobUpdate ポリシー: Action "Add"JobIdJobJson。Process Configuration Policiesを実行

変更

Jobs/{id}.json を編集。id とファイル名はそのまま。保存

PUT /api/Jobs/{jobId} に完全な更新JSON (Admin)

JobUpdate ポリシー: Action "Update"JobIdJobJson (完全)。Process Configuration Policiesを実行

削除

Jobs/{id}.json を削除

DELETE /api/Jobs/{jobId} (Admin)

JobUpdate ポリシー: Action "Delete"JobId。Process Configuration Policiesを実行

検証

作成/更新前に本文へジョブJSONを入れた POST /api/Jobs/validate

1回実行

POST /api/Jobs/{jobId}/run (Admin)

APIにはHTTPS (例: https://127.0.0.1:6889) とAdmin認証を使います。エンドポイント一覧はローカルエンドポイントをご参照ください。

最終更新