プラグイン: Redirect Evaluator

フィールド
説明

sourceExePattern

取り込む実行ファイル。名前で照合 (例: rundll32\.exe)

commandLinePattern

コマンドライン全体に照合するパターン (例: ncpa\.cpl)。実行ファイルの特定の呼び出しだけにルールを絞るときに使う

elevationOnly

true のとき、ルールは特権昇格要求にだけ適用。多くのリダイレクトで推奨

nonAdminOnly

true のとき、ルールは標準 (非管理者) ユーザーにだけ適用。管理者は影響を受けず、通常どおり元のプロセスが実行される

targetExe

起動する代替アプリケーション (例: Keeper.NetworkConnections)。デプロイ済みのEPMプラグインまたは実行ファイルである必要がある

targetArguments

代替に渡す任意の引数。不要なら空のまま

想定読者: IT管理者。本ページでは RedirectEvaluator について取り扱います。EPMプラグインで、許可された特権昇格要求を取り込み、元のプロセスを昇格起動する代わりに代替アプリケーションへ差し替えます。

RedirectEvaluator の役割

特権昇格要求がポリシーで許可されると、通常は要求された実行ファイルが昇格付きで起動されます。RedirectEvaluator はそのフロー内で動作し、別のアプリケーションへ差し替えます。ユーザーは制御された経路で必要な機能を得られ、元のプロセスが昇格状態で実行されることはありません。

よくある例として、標準ユーザーがWindowsのネットワーク接続 (rundll32.exe + ncpa.cpl) を開く場合があります。そのシステムプロセスを昇格させる代わりに、RedirectEvaluator が要求を取り込み、Keeper.NetworkConnectionsを起動します。ユーザーは専用UIから同じ結果を得られ、元の特権プロセスは実行されません。

リダイレクトはポリシー許可に加えて働く機能です。ポリシーですでに要求が許可された後にだけ有効になります。MFA、正当な理由、承認などの標準コントロールは従来どおり先に実行されます。

動作の流れ

RedirectEvaluator は、リダイレクトが有効なとき、LaunchPrivilegeElevationジョブの最初のタスクとして実行されます。

  1. 特権昇格要求が届き、ポリシーによって許可されます。

  2. LaunchPrivilegeElevationジョブが開始されます。check-redirectタスクが RedirectEvaluator を呼び出し、実行ファイルパス、コマンドライン、ユーザーの管理者ステータス、イベントタイプなどの要求コンテキストを渡します。

  3. RedirectEvaluatorGET /api/PluginSettings/RedirectEvaluator で有効なルールを取得し、順に評価します。最初に一致したルールが採用されます。

  4. ルールが一致した場合: RedirectEvaluator は代替ターゲットを返します。ジョブは呼び出し元に DENY を送り (元の実行ファイルは起動されません)、代わりに代替を昇格起動します。ユーザーには代替アプリが表示されます。

  5. 一致するルールがない、またはリダイレクトが無効な場合: ジョブは通常どおり進み、当初要求された実行ファイルが昇格起動されます。

RedirectEvaluator はService実行タイプのプロセスタスクとして動作します。出力は単一のJSONオブジェクト (denyOriginalRequestredirectTargetExeredirectTargetArgs) で、ジョブコンテキストにマージされ、後続タスクがこれに基づいて処理されます。

デプロイ

RedirectEvaluator は標準のEPMコンポーネントセットの一部としてデプロイされます。

  • 配置先: Jobs/bin/RedirectEvaluator/

  • 構成ファイル: KeeperPrivilegeManager/Plugins/RedirectEvaluator.json

  • 必要な関連ジョブ: LaunchPrivilegeElevation — リダイレクトはこのジョブ内で実行され、ジョブがなければ効果はありません。

  • 代替アプリ (例: Keeper.NetworkConnections) も Jobs/bin/ 配下にデプロイする必要があります。

リダイレクトルール

ルールは Plugins/RedirectEvaluator.jsonmetadata.redirect.rules 配下で定義します。各ルールは、何を取り込むか、代わりに何を起動するかを指定します。

フィールド
説明

sourceExePattern

昇格要求の実行ファイル名に照合する正規表現 (例: rundll32\.exe)。大文字・小文字を区別しない。リテラルの `.` には \. を使う

commandLinePattern

コマンドライン全体に照合する正規表現。「含む」照合として動作。空にはできない — 任意のコマンドラインに一致させる場合は .* を使う

elevationOnly

true のとき、ルールは特権昇格要求にだけ適用。多くのリダイレクトで推奨

nonAdminOnly

true のとき、ルールは標準 (非管理者) ユーザーにだけ適用。管理者は影響を受けず、元のプロセスが実行される

targetExe

起動する代替の短い名前 (例: Keeper.NetworkConnections)。Jobs/bin/ または Plugins/bin/ からフルパスに解決される

targetArguments

代替に渡す任意の引数。不要なら空のまま

ルールは順に評価されます。最初に一致したルールが採用されるため、より具体的なルールを広いルールより前に置いてください。

組み込み例: ncpa.cpl → Keeper.NetworkConnections

デフォルト構成には、Windows ネットワーク接続向けのルールが含まれています。

これは、コマンドラインに ncpa.cpl を含む rundll32.exe への昇格要求を、非管理者ユーザーにだけ取り込みます。一致した要求は追加引数なしでKeeper.NetworkConnections UIへリダイレクトされます。管理者は影響を受けません。

リダイレクトの有効化と無効化

リダイレクトは Plugins/RedirectEvaluator.json 内の単一フラグで制御します。

  • metadata.redirect.enabled: true — リダイレクトがオン。許可された昇格要求ごとにルールが評価される。

  • metadata.redirect.enabled: false — リダイレクトがオフ。check-redirect タスクは完全にスキップされ、通常の launch-elevated パスが実行される。

無効時は RedirectEvaluator は呼び出されず、昇格フローへのパフォーマンス影響もありません。

構成の一元的デプロイ

各エンドポイントで Plugins/RedirectEvaluator.json を手動編集する代わりに、SettingsUpdate ポリシーでリダイレクトルールを一元的にプッシュできます。

SettingsJson には完全なプラグイン JSON を含める必要があります。ポリシー適用時、エンドポイント上の既存ファイルはマージされず、丸ごと置き換わります。内側の JSON を別途組み立て、SettingsJson 文字列へシリアライズしてエスケープエラーを防いでください。

ポリシーをデプロイし、Process Configuration Policiesジョブが実行されると、更新された構成が Plugins/RedirectEvaluator.json に書き込まれます。デプロイのバージョンによってはサービスの再起動が必要になる場合があります。

改ざん保護に関する注意: EPMが通常のポリシーフロー以外で Plugins/RedirectEvaluator.json が変更されたと検出した場合、ホットリロード時にファイルの再読み込みをスキップすることがあります。その場合、変更を反映するにはサービスの完全再起動が必要です。Keeper管理コンソールからUnified Storageへ設定をプッシュすれば、この制約を回避できます。

まとめ

項目
内容

役割

許可された昇格要求に対し、別の実行ファイルに差し替える

実行タイミング

LaunchPrivilegeElevation 内。ポリシーが要求を許可した後、昇格起動の前

構成場所

Plugins/RedirectEvaluator.jsonmetadata.redirect.enabled および metadata.redirect.rules

ルール照合

最初に一致したルールが採用。具体性の高い順に並べる

有効化/無効化

metadata.redirect.enabled — 切り替えにサービス再起動は不要

ルールのデプロイ

SettingsUpdate ポリシー + Process Configuration Policies ジョブ

代替アプリの要件

ターゲットは Jobs/bin/ または Plugins/bin/ 配下にデプロイされている必要がある

組み込み例

非管理者ユーザー向けに rundll32.exe + ncpa.cplKeeper.NetworkConnections

最終更新