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

ポリシーのコントロール (ファイルリダイレクトの作成)

ファイルリダイレクトを使ったKEPM昇格の高度な構成

対象: システム管理者

本ページでは、Keeperエンドポイント特権マネージャー (KEPM) におけるファイルリダイレクトの構成と利用方法を取り扱います。特権昇格の要求がポリシーで許可された場合、リダイレクトにより別の実行ファイルに差し替えて起動でき、ユーザーが意図した操作を行えるようにしつつ、ポリシーで制御を維持できます。

ファイルリダイレクトとは

特権昇格の要求がポリシーで許可された場合、通常は要求された実行ファイルが昇格付きで起動されます。リダイレクトはこのフローに介入し、代わりに別の実行ファイルを起動します。

例: ユーザーがPowerShell 7 (pwsh.exe) の昇格を要求します。ポリシーは許可しますが、リダイレクトルールはWindows PowerShell 5.1 (powershell.exe) に差し替えます。ユーザーは意図したシェルを利用でき、組織は昇格起動するバイナリを制御できます。

主な動作は以下のとおりです。

  • リダイレクトは特権昇格イベントにのみ適用 (ファイルアクセスなど他のイベント種別では対象外)

  • ルールに一致した場合、呼び出し元へDENYが返され、代替実行ファイルが昇格付きで起動される

  • リダイレクトが無効、またはルールに一致しない場合は通常の昇格フローが続行

  • ポリシー評価とコントロール (MFA、正当な理由、承認) は変更なし (リダイレクトは要求が許可された後に実行)

リダイレクトルールはRedirectEvaluatorプラグイン構成の metadata.redirect に保存されます。

要件

要件
説明

LaunchPrivilegeElevationジョブ

デプロイ済み・登録済み。RedirectEvaluator を呼び出す check-redirect タスクを含む

RedirectEvaluatorプラグイン

プラグイン構成に metadata.redirect.enabled: true と、metadata.redirect.rules に1件以上のルールが必要

特権昇格ポリシー

ソースアプリケーションを許可するポリシー。未設定の場合は要求が拒否され、LaunchPrivilegeElevation は実行されない

SettingsUpdateポリシー

完全な RedirectEvaluator JSON (リダイレクトルール含む) をエンドポイントへプッシュし、Plugins/RedirectEvaluator.json を更新

Process Configuration Policiesジョブ

ConfigurationPolicyProcessor を実行し、SettingsUpdate ポリシーの内容をプラグインファイルへ書き込み

プラグイン設定の再読み込み

JSON ファイル更新後、サービスが新しい構成を読み込む必要あり。再読み込みは UpdateSettings ポリシー、KEPM サービスの再起動マシンの再起動 のいずれか。KEPM 管理エンドポイントはターミナルやスクリプトから呼び出し不可 (呼び出し元プロセスは KEPM と同様に署名が必要)

UpdateSettingsポリシー (任意)

存在し前処理されると revert-all をトリガー。サービス再起動なしで設定を再読み込み

リダイレクトルールの形式

ルールはRedirectEvaluatorプラグインJSONの metadata.redirect.rules に置きます。

フィールド
必須
説明

sourceExePattern

はい

実行ファイル名のみにマッチする正規表現 (例: pwsh\.exe)。大文字小文字を区別しない。リテラルのドットには \\. を使用

commandLinePattern

はい

完全なコマンドラインにマッチする正規表現。空に不可。任意のコマンドラインには .* を使用

elevationOnly

はい

true に設定 (特権昇格イベントにのみ適用)

nonAdminOnly

いいえ

true の場合、要求ユーザーが管理者でないときのみ適用

targetExe

はい

代替実行ファイル。完全な絶対パス、または製品が認識する短い名前のいずれかを指定。

  • 完全な絶対パス: エンドポイント上の任意の実行ファイル (例: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe/usr/bin/something)。そのまま使用

  • 製品が認識する短い名前: パス区切りなし (例: Keeper.NetworkConnections)。まず Jobs/bin/{name}/{name}.exe、次に Plugins/bin/{name}/{name}.exe へ解決

エンドポイント上に存在し、サービスから起動可能な実行ファイルであること

targetArguments

いいえ

代替側の引数 (多くの場合 "")。

重要: sourceExePatterncommandLinePattern は空にできません。コマンドラインに関係なくリダイレクトするには、commandLinePattern".*" を使います。最初にマッチしたルールが適用されます。具体的なルールを一般的なルールより前に置きます。

注: targetExe は Keeper のインストールツリーに限定されません。完全な絶対パスを指定した場合、サービスが起動できる場所であればどこでも代替実行ファイルを配置できます (例: C:\Windows\System32\...C:\Program Files\Vendor\App.exe/usr/local/bin/tool)。Jobs/bin および Plugins/bin のルックアップは、パス区切りのない短い名前を指定した場合にのみ適用されます。

セットアップ

1

特権昇格ポリシー

リダイレクトしたいアプリケーションを許可するポリシーを作成します。要求が拒否されるとLaunchPrivilegeElevationは起動せず、リダイレクトは実行されません。

  1. 管理コンソールまたはポリシーストアで特権昇格ポリシーを作成する。

  2. PolicyType"PrivilegeElevation"Status"enabled" に設定する。

  3. ApplicationCheckをソース実行ファイルに一致させる (例: PowerShell\7\pwsh.exe を含むパス)。

  4. Controlsを昇格許可に設定する (例: ["ALLOW"]、または必要に応じてMFA/Justify/Approvalを含める)。

  5. 適切なユーザーおよびマシンコレクションに割り当て、展開/同期する。

例 (概念上):

2

SettingsUpdateポリシー (リダイレクトルール)

このポリシーで完全なRedirectEvaluatorプラグインJSONを各エンドポイントの Plugins/RedirectEvaluator.json へプッシュします。

  1. 必須フィールド (idnamedescriptionversionpluginTypeexecutablePathSubscriptionmetadata など) をすべて含む完全なRedirectEvaluator JSONを作成する。

  2. metadata.redirect.enabledtrue にし、metadata.redirect.rules にルールを設定する。

  3. Extension.PluginName"RedirectEvaluator"Extension.Action"Update"Extension.SettingsJsonを完全なプラグインJSONに設定したSettingsUpdateポリシーを作成する。オブジェクト形式は読みやすく、エスケープミスを防ぎやすい。

  4. 適切なコレクションに割り当て、展開/同期する。

SettingsUpdateポリシーの例:

SettingsJsonidnameexecutablePathSubscriptionmetadata など、完全なプラグイン JSON である必要があります。

3

Process Configuration Policiesの実行

Process Configuration Policiesジョブ (ConfigurationPolicyProcessor) がSettingsUpdateポリシーを読み取り、各エンドポイントの Plugins/RedirectEvaluator.jsonExtension.SettingsJson を書き込みます。

  • スケジュール: 同期後、次回の実行サイクルで自動実行されます。

  • オンデマンド: KeeperClientのRefreshオプションを使い、ポリシー同期と前処理を即座にトリガーします。

この手順の後、エンドポイント上のプラグインファイルにリダイレクトルールが含まれます。実行中のサービスは、設定が再読み込みされるまで (手順4) 古いメモリ上の構成を使っている場合があります。

4

プラグイン設定の再読み込み

プラグイン JSON ファイルを更新した後、サービスが新しい設定を読み込む必要があります。再読み込みの方法は以下のとおりです。

  1. UpdateSettingsポリシー: ポリシー前処理時に revert-all をトリガー (手順5をご参照ください)

  2. KEPM サービスの再起動: 起動時にディスクからプラグイン構成を読み込み。初回読み込みに最も確実

  3. マシンの再起動: サービスの再起動と同様の効果

KEPMの管理エンドポイントは、ターミナル、PowerShell、curl、その他未署名のツールからトリガーできません。

5

任意: 再起動なしでリロードする UpdateSettings ポリシー

  1. PolicyType"UpdateSettings"Status"enabled" とするポリシーを作成する。

  2. 適切なコレクションに割り当て、展開/同期する。

  3. KeeperPolicyがポリシーを前処理するとき、UpdateSettingsポリシーを検出し revert-all を1回呼び出します。プラグイン設定は現在のメモリ上の構成からストレージへ再インポートされます。

注: UpdateSettingsは現在のメモリ上の構成から再インポートするだけで、ディスク上の JSON ファイルは再読み込みしません。新しい RedirectEvaluator.json初めてプッシュするときは、サービスの再起動が最も確実です。構成が既に読み込まれている場合の再読み込みには UpdateSettings を使います。

実行時の動作

ユーザーがリダイレクトルールに一致する特権昇格要求をトリガーした場合は、以下の流れになります。

  1. ユーザーが昇格を要求: 例: コマンドラインに ncpa.cpl を含む rundll32.exe

  2. ポリシー評価: 特権昇格ポリシーが要求を許可。コントロール (MFA、正当な理由、承認) は通常どおり実行

  3. LaunchPrivilegeElevation ジョブが開始: metadata.redirect.enabledtrue のとき、check-redirect タスクが実行

  4. RedirectEvaluator が呼び出される: コンテキスト (FilePath、CommandLine、IsAdmin、OriginalEventType) を渡して呼び出し。標準出力に JSON を返し、実行側がマージしてエイリアスを追加。下流タスクは DenyOriginalRequest: trueRedirectTargetExeRedirectTargetArgs を参照可能

  5. ジョブが結果に応じて分岐:

    • send-deny-redirect: 呼び出し元へ DENY を発行し、元の実行ファイルは起動されない

    • launch-substitute: 解決済みの代替パスと引数で launch-elevated へ HTTP POST

    • send-did-elevate-response: DidElevate を送信し、クライアントに成功を表示。ユーザーには代替アプリケーションが表示される

リダイレクトが無効の場合、check-redirectDenyOriginalRequest: false を設定し、ジョブは通常のlaunch-elevatedパスを続行します。

ターゲット実行ファイルのパス解決

Keeper.NetworkConnections のような targetExe の値は、launch-substitute 呼び出しの前にタスク実行側によって完全パスへ解決されます。実行側は Jobs/bin (該当する場合は Plugins/bin) を参照します。代替起動に使われるのは、KEPM が管理する範囲内のパスのみです。

制限事項

制限
説明

特権昇格のみ

ファイルアクセスなど他のイベント種別では評価されない

両方のパターンが必須

sourceExePatterncommandLinePattern はともに空にできない

先にポリシーが許可している必要

昇格要求はポリシーで許可されている必要あり。拒否された場合、LaunchPrivilegeElevation は実行されず、リダイレクトは評価されない

改ざん保護

初回読み込み後に Plugins/RedirectEvaluator.json の変更を検出した場合、ホットリロードでそのファイルの読み込みをスキップすることがある。起動時にファイルを読み込むため、KEPM サービスを再起動

ターゲット実行ファイル

targetExe は、エンドポイント上に存在しサービスから起動可能な実行ファイルを指す必要あり。短い名前 (パス区切りなし) の場合は Jobs/bin または Plugins/bin 配下へ解決。それ以外は完全な絶対パスを指定

最初にマッチしたルールのみ

ルールは具体的なものから一般的なものへ順序付け

UpdateSettings の範囲

メモリ上の構成からの再インポートのみ (ディスク上の JSON は再読み込みしない)。一度も読み込まれていないファイルの読み込みにはサービスの再起動を使用

ターミナル/スクリプトからの API なし

管理エンドポイントは KEPM と同様に署名された呼び出し元プロセスが必要。ターミナル、PowerShell、curl からは呼び出し不可

最終更新