# プラグインとタスクの設定

**対象**: IT管理者向けです。本ページでは各プラグインの**設定**と、該当する場合はそれを利用する**タスク**について記載します。

統合担当者向けのプラグイン設定の概要 (ジョブタスクのバイナリが実行時にこのAPIでブローカー構成を読み取る方法を含む) については、[ジョブとプラグイン: 設定キー](/keeperpam/jp/endpoint-privilege-manager/reference/job-and-plugin-settings-keys.md)および[HTTPリファレンス](https://claude.ai/integration/http-reference#plugin-settings-api)をご参照ください。各設定について**用途**、**型**、**デフォルト**、**適切な値**を示します。設定はプラグインのJSONファイル (`Plugins/{PluginName}.json`) に保存できるほか、統合ストレージにも保存できます。実行時は、**Revert**で元に戻すまで**統合ストレージの値がプラグインJSONより優先**されます。

***

### 設定の適用方法

* **プラグインJSON**: 各プラグインには `Plugins/` 以下にJSONファイルがあります (例: `Plugins/KeeperPolicy.json`)。設定はルートまたは `metadata` 配下に置けます。ファイルを編集しプラグインを再起動するか、JSONからの復元を行うと反映されます。
* **統合ストレージ**: 製品はプラグイン設定を統合ストレージに保存できます。**Revert** (例: `POST /api/PluginSettings/{pluginName}/revert` または `revert-all`) を実行するまで、これらの値がプラグインJSONより優先されます。
* **構成のプッシュ**: **SettingsUpdate**構成ポリシーでプラグインJSON全体をディスクに書き込める場合があり、その後**Process Configuration Policies**が構成プロセッサを実行します。その後、実行時ストレージを新しいファイルに合わせたい場合は Revert を使い、必要ならプラグインを再起動します。
* **API**: `GET /api/PluginSettings/{pluginName}` または `GET /api/PluginSettings/{pluginName}/{settingName}` で設定を読み取り、 `PUT /api/PluginSettings/{pluginName}/{settingName}` (管理者) で更新できます。値の形式はJSONです (文字列、数値、真偽値など)。

***

### グローバル (アプリケーション) 設定

これらは**appsettings.json**の `Settings` セクションにあり、サービス全体に適用されます。管理者がよく変更する主な設定のみを列挙します。

<table><thead><tr><th width="215.66668701171875">設定</th><th width="95">型</th><th width="159.666748046875">デフォルト</th><th>用途</th><th>適切な値</th></tr></thead><tbody><tr><td><strong>KestrelHttpPort</strong></td><td>integer</td><td>6888</td><td>管理API用のHTTPポート (localhost のみ)</td><td>1024–65535。マシン上で空いているポート</td></tr><tr><td><strong>KestrelHttpsPort</strong></td><td>integer</td><td>6889</td><td>管理API用のHTTPSポート (localhost のみ)</td><td>1024–65535。空いているポート</td></tr><tr><td><strong>system.logging.level</strong></td><td>string</td><td>"Warning"</td><td>メインサービス / KeeperLogger (フォールバック利用時) の最低ログレベル</td><td><strong>"Critical"</strong>、<strong>"Error"</strong>、<strong>"Warning"</strong>、<strong>"Information"</strong>、<strong>"Debug"</strong>、<strong>"Trace"</strong>。本番: <strong>"Warning"</strong>または<strong>"Information"</strong>。トラブルシュート: <strong>"Debug"</strong></td></tr><tr><td><strong>RepositoryPath</strong></td><td>string</td><td>"KeeperStorage"</td><td>システム構成の保存先ディレクトリ</td><td>有効なパス。パス変数可 (例: <code>{approot}/KeeperStorage</code>)</td></tr><tr><td><strong>PluginPath</strong></td><td>string</td><td>"Plugins"</td><td>プラグインJSONと実行ファイルを含むディレクトリ</td><td>有効なパス。パス変数可</td></tr><tr><td><strong>ServiceName</strong></td><td>string</td><td>"KeeperPrivilegeManager"</td><td>Windowsサービスの表示名</td><td>空でない任意の文字列</td></tr><tr><td><strong>MaintainKeeperAccount</strong></td><td>boolean</td><td>false</td><td>true のとき (Windows)、一時的な KeeperUserSession アカウントをサービス再起動後も維持 (ハイブリッド Azure AD + Intune 向け)</td><td><strong>true</strong>または<strong>false</strong></td></tr></tbody></table>

**MQTT ブローカー** (**MqttBrokerSettings**内):

| 設定            | 型       | デフォルト       | 用途                 | 適切な値                                                 |
| ------------- | ------- | ----------- | ------------------ | ---------------------------------------------------- |
| **IpAddress** | string  | "127.0.0.1" | MQTTブローカーのバインドアドレス | セキュリティのため\*\*"127.0.0.1"**または**"localhost"\*\*のままにする |
| **Port**      | integer | 8675        | MQTTブローカーのポート      | 1024–65535。空いているポート                                  |

***

### KeeperPolicy プラグイン

**構成ファイル:** `Plugins/KeeperPolicy.json`\
**設定**はプラグイン起動時に読み込まれ、MQTT接続、API呼び出し、ポリシー動作に使われます。

| 設定                                                        | 型       | デフォルト          | 用途                                                                                   | 適切な値                                                                   |
| --------------------------------------------------------- | ------- | -------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **broker.host**                                           | string  | "127.0.0.1"    | プラグインが接続するMQTTブローカーのホスト名                                                             | ローカルMQTTブローカーのホスト名またはIP (通常**127.0.0.1**)                              |
| **broker.port**                                           | integer | 8675           | MQTTブローカーのポート                                                                        | 1024–65535。**MqttBrokerSettings.Port**と一致必須                            |
| **subscription.topic**                                    | string  | "KeeperPolicy" | ポリシーリクエスト用にプラグインがサブスクライブする主MQTTトピック                                                  | 空でないトピック名 (例: **"KeeperPolicy"**)                                      |
| **subscription.topics**                                   | string  | (可変)           | 追加でサブスクライブするMQTTトピックのカンマ区切り一覧                                                        | カンマ区切りのトピック名。主トピックを通常は含める                                              |
| **system.service.https\_port**                            | integer | 6889           | ローカルAPI呼び出し用のHTTPSポート (カスタムフィルタ、ジョブトリガーなど)                                           | **KestrelHttpsPort**と同じ (通常**6889**)                                   |
| **customfilter.timeout\_seconds**                         | integer | 30             | カスタムフィルタジョブへのHTTP呼び出しのタイムアウト (秒)                                                     | 正の整数 (例: **15**–**60**)                                                |
| **ratelimit.max\_requests\_per\_minute**                  | integer | 100            | ソースあたり1分間のポリシー評価リクエスト上限 (レート制限)                                                      | 正の整数。正当なトラフィックが抑制される場合は増やす                                             |
| **metadata.admin.enforce\_policies\_for\_administrators** | boolean | false          | **ポリシー非一致**の特権昇格 (など) リクエストで、ユーザーが**管理者**のとき: **false** = 許可 (OSデフォルト)、**true** = 拒否 | **false** (デフォルト): 管理者は昇格で「ポリシーなし=拒否」の対象外。**true**: ポリシー非一致時は管理者も同様に拒否 |

***

### KeeperAPI プラグイン

**構成ファイル:** `Plugins/KeeperApi.json`\
Keeperバックエンドとの通信 (登録、ポリシー同期、監査) に使います。

| 設定                         | 型       | デフォルト        | 用途                        | 適切な値                                                                 |
| -------------------------- | ------- | ------------ | ------------------------- | -------------------------------------------------------------------- |
| **broker.host**            | string  | "127.0.0.1"  | MQTTブローカーのホスト名            | **127.0.0.1**または localhost                                           |
| **broker.port**            | integer | 8675         | MQTTブローカーのポート             | **MqttBrokerSettings.Port**と同じ                                       |
| **api.base\_url**          | string  | (環境またはデフォルト) | KeeperバックエンドAPIのベースURL    | Keeper API の完全なHTTPS URL (例: **"<https://api.keepersecurity.com>"**) |
| **sync.interval\_minutes** | integer | (可変)         | バックエンドからのポリシー/設定同期の間隔 (分) | 正の整数 (例: **15**–**60**)                                              |

***

### KeeperLogger プラグイン

**構成ファイル:** `Plugins/KeeperLogger.json`\
ログメッセージの出力先と方法 (ファイル、HTTPエンドポイント、保持期間、サイズ) を制御します。

| 設定                      | 型       | デフォルト                  | 用途                                          | 適切な値                                                                                                                                       |
| ----------------------- | ------- | ---------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **logToFile**           | boolean | true                   | true のとき、ログをファイルに書き込む                       | **true**または**false**                                                                                                                       |
| **logFileName**         | string  | "Log/KeeperLogger.log" | ログファイルのパス (プラグイン作業ディレクトリからの相対または絶対)。パス変数可   | 有効なパス。例: **"Log/KeeperLogger.log"**、 `{approot}/Log/KeeperLogger.log`                                                                      |
| **maxFileSizeMB**       | number  | 100                    | ローテーション前のログファイル最大サイズ (MB)                   | 正の数 (例: **50**–**500**)                                                                                                                    |
| **logRetentionDays**    | integer | 15                     | 削除前にローテーション済みログを保持する日数                      | 正の整数 (例: **7**–**90**)                                                                                                                     |
| **logToHttpEndpoint**   | boolean | false                  | true のとき、ログをHTTPエンドポイントにも送る                 | **true**または**false**                                                                                                                       |
| **loggingHttpEndpoint** | string  | ""                     | **logToHttpEndpoint**が true のときログをPOSTするURL | 完全な HTTP/HTTPS URL または空                                                                                                                    |
| **log.level**           | string  | (可変)                   | ファイルまたはHTTPへ書き込むメッセージの最低レベル                 | **"Critical"**、**"Error"**、**"Warning"**、**"Information"**、**"Debug"**、**"Trace"**。本番: **"Warning"または"Information"**。トラブルシュート: **"Debug"** |

***

### RedirectEvaluator プラグイン (リダイレクト機能)

**構成ファイル:** `Plugins/RedirectEvaluator.json`\
リダイレクト設定は、ルール一致時に**LaunchPrivilegeElevation**ジョブが別の実行ファイルに差し替えるかどうかを制御します (例: ncpa.cpl → Keeper.NetworkConnections)。全体の流れについては、[リダイレクト機能](/keeperpam/jp/endpoint-privilege-manager/reference/redirect-capability.md)のページをご参照ください。

| 設定                              | 型       | デフォルト                | 用途                                                                                                                                                                                                          | 適切な値                                                                                                                         |
| ------------------------------- | ------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **metadata.redirect.enabled**   | boolean | true/false (構成により可変) | **true**のとき、LaunchPrivilegeElevation ジョブは**check-redirect**タスクを実行し**metadata.redirect.rules**を評価する。ルール一致時は呼び出し元にDENYを返し**targetExe**を昇格付きで起動。**false**のとき check-redirect をスキップし、通常フローどおり要求されたexeを起動 (または拒否) | **true**: リダイレクト有効。**false**: リダイレクト無効、通常の昇格起動のみ                                                                             |
| **metadata.redirect.rules**     | array   | \[] またはルールの配列        | リダイレクトルールのリスト。最初に一致したルールが適用。各ルールに**sourceExePattern**、**commandLinePattern**、**elevationOnly**、**nonAdminOnly**、**targetExe**、**targetArguments**                                                           | ルールオブジェクトの配列。詳細は [リダイレクト機能参照](/keeperpam/jp/endpoint-privilege-manager/reference/redirect-capability.md)。リダイレクト不要なら `[]` のまま |
| **metadata.redirect.rulesPath** | string  | (任意)                 | 対応している場合、インライン**rules**の代わりにリダイレクトルールを格納したファイルへのパス                                                                                                                                                          | 有効なファイルパスまたは空                                                                                                                |

**リダイレクトルールのフィールド (metadata.redirect.rules 内の各オブジェクト):**

| フィールド                  | 型              | 用途                                                          | 適切な値                                              |
| ---------------------- | -------------- | ----------------------------------------------------------- | ------------------------------------------------- |
| **sourceExePattern**   | string (regex) | 昇格リクエストの**実行ファイル名**にマッチ (例: `rundll32.exe`)。大文字小文字を区別しない    | 正規表現。リテラルのドットは `\\.` (例: `"rundll32\\.exe"`)      |
| **commandLinePattern** | string (regex) | 完全な**コマンドライン**にマッチ。「含む」として動作。大文字小文字を区別しない                   | 正規表現。例: ncpa.cpl 向け `"ncpa\\.cpl"`                |
| **elevationOnly**      | boolean        | true のとき、**特権昇格**イベントにのみルールを適用                              | 一般的なリダイレクトでは **true**                             |
| **nonAdminOnly**       | boolean        | true のとき、**要求ユーザーが管理者でない場合のみ**ルールを適用                        | 標準ユーザーのみリダイレクトするなら **true**。管理者にも適用するなら **false** |
| **targetExe**          | string         | 差し替え先の**プラグインID**または実行ファイル名 (Jobs/bin または Plugins/bin から解決) | 例: **"Keeper.NetworkConnections"**。デプロイ済みであること    |
| **targetArguments**    | string         | 差し替え先実行ファイルのコマンドライン引数                                       | 任意の文字列。多くは `""`                                   |

***

### KeeperClient プラグイン

**構成ファイル:** `Plugins/KeeperClient.json`\
システムトレイのクライアント (通知、メニュー、ヘルスチェック)。多くのオプションは**metadata**にあります (メニュー項目、UI動作など)。

| 設定                                       | 型       | デフォルト       | 用途                       | 適切な値                                     |
| ---------------------------------------- | ------- | ----------- | ------------------------ | ---------------------------------------- |
| **broker.host**                          | string  | "127.0.0.1" | MQTTブローカーのホスト名           | **127.0.0.1**                            |
| **broker.port**                          | integer | 8675        | MQTTブローカーのポート            | ブローカーと同じ                                 |
| **metadata.menu.refreshIntervalMinutes** | integer | 5           | トレイメニューをAPIから再取得する間隔 (分) | 正の整数 (例: **1**–**30**)                   |
| **metadata.menu.autoRefresh**            | boolean | true        | タイマーによるメニューの自動更新の有無      | **true**または**false**                     |
| **metadata.LanguageOverride**            | string  | "DEFAULT"   | UI言語の上書き                 | `"DEFAULT"` または有効なカルチャコード (例: `"en-US"`) |
| **metadata.showInTray**                  | boolean | true        | システムトレイにアイコンを表示するか       | **true**または**false**                     |

***

### keeperAgent プラグイン

**構成ファイル:** `Plugins/keeperAgent.json`\
特権昇格およびファイルアクセス要求 (承認、履歴) を管理するスタンドアロンUI。

| 設定                                 | 型       | デフォルト   | 用途                                       | 適切な値                     |
| ---------------------------------- | ------- | ------- | ---------------------------------------- | ------------------------ |
| **approvalExpirationHours**        | integer | 72      | 保留中の承認要求が期限切れになるまでの時間 (時間)               | 正の整数 (例: **24**–**168**) |
| **approvedRequestExpirationHours** | integer | 24      | 承認済み (付与済み) 要求が期限切れとなり起動できなくなるまでの時間 (時間) | 正の整数 (例: **1**–**72**)   |
| **historyRetentionDays**           | integer | 30      | UIに履歴項目を保持する日数                           | 正の整数 (例: **7**–**90**)   |
| **maxPayloadSizeBytes**            | integer | 1048576 | メッセージの最大ペイロードサイズ (1 MB)                  | 正の整数                     |
| **maxRequestItems**                | integer | 20      | 表示する保留要求の最大件数                            | 正の整数                     |
| **maxHistoryItems**                | integer | 20      | 表示する履歴の最大件数                              | 正の整数                     |
| **maxExceptionMessageLength**      | integer | 500     | 表示する例外メッセージの最大長                          | 正の整数                     |

***

### プラグイン設定を参照するタスク

一部の**ジョブタスク**は動作判断のためにプラグイン設定を読みます。どの設定がどのタスクに効くかをここに示します。

| ジョブ                          | タスク            | 参照する設定                                               | 用途                                                                                                     |
| ---------------------------- | -------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **LaunchPrivilegeElevation** | check-redirect | **RedirectEvaluator**: **metadata.redirect.enabled** | **true**のとき、RedirectEvaluator 実行ファイルを起動してリダイレクトルールを評価。**false**のときタスクをスキップし、通常の昇格起動 (リダイレクトなし) でジョブを続行 |

その他のポリシー制御ジョブ (例: privilege-elevation-policy-controls、default-policy-controls) は**KeeperMfa**、**KeeperJustification**、**KeeperApproval**を**実行ファイル** (タスクのコマンド) として使うものであり、本リファレンスで設定するプラグインではありません。動作はジョブパラメータとポリシーで決まり、別途プラグイン設定表はありません。

***

### まとめ: どこで設定するか

| 対象                                    | 場所                                                                             | メモ                            |
| ------------------------------------- | ------------------------------------------------------------------------------ | ----------------------------- |
| **グローバル (ポート、パス、システムログレベル)**          | **appsettings.json** → **Settings**、**MqttBrokerSettings**                     | ポート/パス変更後はサービス再起動             |
| **KeeperPolicy (ブローカー、管理者フォールバックなど)** | **Plugins/KeeperPolicy.json**または**PUT /api/PluginSettings/KeeperPolicy/{key}** | 変更後は KeeperPolicy を再起動        |
| **KeeperAPI (ブローカー、API URL、同期)**      | **Plugins/KeeperApi.json** または PluginSettings API                              | 変更後は KeeperAPI を再起動           |
| **KeeperLogger (ファイル、保持、レベル)**        | **Plugins/KeeperLogger.json** または PluginSettings API                           | 変更後は Logger を再起動              |
| **リダイレクト (有効、ルール)**                   | **Plugins/RedirectEvaluator.json** または PluginSettings API                      | 次の評価から反映可。再起動は必須ではない。ルール順序に注意 |
| **KeeperClient (メニュー、トレイ)**           | **Plugins/KeeperClient.json**                                                  | 反映には KeeperClient の再起動        |
| **keeperAgent (期限、上限)**               | **Plugins/keeperAgent.json**                                                   | 反映には keeperAgent の再起動         |

ディスク上のプラグインJSONを編集したあと、製品が設定をそこにキャッシュしている場合は**POST /api/PluginSettings/{pluginName}/revert** (または**revert-all**) でファイルから統合ストレージへ再読み込みし、その後プラグインを再起動して新しい値を読み込ませます。

プラグインの autoRestart = true のとき、プラグインを停止すると自動的に再起動します。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/endpoint-privilege-manager/reference/plugin-and-task-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
