# ローカルエンドポイント

<figure><img src="/files/bYhi81uK8Bg3TVCgXhcM" alt=""><figcaption></figcaption></figure>

**対象**: スクリプトやツールからエージェントに対して管理タスク (ヘルスチェック、プラグイン制御、ジョブ、設定など)を実行するIT管理者向けです。

***

### 概要

Keeper特権マネージャーは**localhost**専用の**HTTP/HTTPS API** (既定ポートはHTTP 6888、HTTPS 6889) を公開します。ヘルスチェック、プラグインの開始/停止/再起動、ジョブの一覧とトリガー、設定およびプラグイン設定、登録、その他の管理操作に利用します。エンドポイントはいずれもマシン**ローカル**であり、ネットワークに公開することを想定していません。

**ベースURL**:

* **HTTP**: `http://127.0.0.1:6888`
  * `HTTP`から`HTTPS`へ自動リダイレクトする。
* **HTTPS**: `https://127.0.0.1:6889`
  * 通信はローカルマシン内のみで行われるため、Keeper特権マネージャーが証明書のライフサイクルと検証を自動で管理する。証明書はメモリ上に保持され (ディスクには書き込まない)、内部でローテーションされ、サービス起動のたびに新しい証明書が生成される。

**認証レベル**:

* **公開** — 認証なし (ヘルス、ルート、システムステータス)。
* **プラグイン** — 呼び出し元がKeeper特権マネージャーにより起動されたプロセスで、有効な証明書を持つこと (例: プラグイン、ジョブ)。
* **昇格管理者** — 呼び出し元が管理者権限を持つ (または信頼されたシステムプロセスである)こと、および有効な証明書を持つこと。

多くの管理操作は**プラグイン**または**管理者**を要します。手動で実行するスクリプトでは多くの場合**管理者**を使用します (例: 昇格したPowerShellから、またはrootとして)。証明書ベースの呼び出しでは、スクリプト用のクライアント証明書が製品から提供される場合があります。デプロイのドキュメントをご参照ください。

***

### 公開エンドポイント (認証なし)

監視および基本的な確認に使用する。

| メソッド | パス                   | 説明                                           |
| ---- | -------------------- | -------------------------------------------- |
| GET  | `/health`            | ヘルスチェック。ステータス (例: healthy)、タイムスタンプ、バージョンを返す。 |
| GET  | `/`                  | ルート。サービス名、ステータス、バージョン。                       |
| GET  | `/api/system/status` | システムステータス: 実行中、プラグイン数、ジョブ数 (合計/有効)。          |

**例**:

```
curl -k https://localhost:6889/health
curl -k https://localhost:6889/
curl -k https://localhost:6889/api/system/status
```

***

### プラグイン管理

| メソッド | パス                            | 認証    | 説明                                                    |
| ---- | ----------------------------- | ----- | ----------------------------------------------------- |
| GET  | `/api/plugins`                | プラグイン | すべてのプラグインを一覧表示 (id、名前、ステータス、processId、lastStartTime)。 |
| POST | `/api/plugins/{name}/start`   | 管理者   | プラグインを開始する。                                           |
| POST | `/api/plugins/{name}/stop`    | 管理者   | プラグインを停止する。                                           |
| POST | `/api/plugins/{name}/restart` | 管理者   | プラグインを再起動する。                                          |

`{name}`をプラグインID (例: KeeperPolicy、KeeperAPI) に置き換える。プラグインが固まったあとやプラグイン構成を変更したあとの復旧に使用する。

***

### ジョブ管理

| メソッド   | パス                          | 認証    | 説明                                      |
| ------ | --------------------------- | ----- | --------------------------------------- |
| GET    | `/api/Jobs`                 | プラグイン | 登録済みジョブをすべて一覧表示 (id、名前、有効、スケジュール、最終実行)。 |
| GET    | `/api/Jobs/{jobId}`         | プラグイン | IDで1件のジョブを取得する。                         |
| POST   | `/api/Jobs`                 | 管理者   | ジョブを作成する (JSONボディ)。                     |
| PUT    | `/api/Jobs/{jobId}`         | 管理者   | ジョブを更新する。                               |
| DELETE | `/api/Jobs/{jobId}`         | 管理者   | ジョブを削除する。                               |
| POST   | `/api/Jobs/{jobId}/run`     | 管理者   | ジョブを直ちに実行する。                            |
| POST   | `/api/Jobs/{jobId}/trigger` | 管理者   | イベントコンテキスト付きでジョブをトリガーする (JSONボディ)。      |
| POST   | `/api/Jobs/validate`        | 管理者   | ジョブJSONを検証する (POSTボディ=ジョブJSON)。         |

オンデマンド実行には**run**または**trigger**を、ジョブの作成・更新前には**validate**を使用する。

***

### 設定

<table><thead><tr><th width="111.38671875">メソッド</th><th>パス</th><th width="102.8671875">認証</th><th>説明</th></tr></thead><tbody><tr><td>GET</td><td><code>/api/Settings</code></td><td>プラグイン</td><td>すべてのアプリ設定を取得する (機密値はマスクされる場合がある)。</td></tr><tr><td>GET</td><td><code>/api/Settings/{key}</code></td><td>プラグイン</td><td>キーで1件の設定を取得する (例: Settings:KestrelHttpsPort)。</td></tr><tr><td>PUT</td><td><code>/api/Settings/{key}</code></td><td>管理者</td><td>設定を更新する (ボディ=値)。</td></tr><tr><td>POST</td><td><code>/api/Settings/revert</code></td><td>管理者</td><td>設定を既定値に戻す (任意ボディ: キーのリスト)。</td></tr></tbody></table>

***

### プラグイン設定

<table><thead><tr><th width="101.37109375">メソッド</th><th width="307.875">パス</th><th width="86.625">認証</th><th>説明</th></tr></thead><tbody><tr><td>GET</td><td><code>/api/PluginSettings/{pluginName}</code></td><td>プラグイン</td><td>プラグインのすべての設定を取得する。</td></tr><tr><td>GET</td><td><code>/api/PluginSettings/{pluginName}/{settingName}</code></td><td>プラグイン</td><td>プラグイン設定を1件取得する。</td></tr><tr><td>PUT</td><td><code>/api/PluginSettings/{pluginName}/{settingName}</code></td><td>管理者</td><td>プラグイン設定を1件更新する (ボディ=値)。</td></tr><tr><td>POST</td><td><code>/api/PluginSettings/revert-all</code></td><td>管理者</td><td>ディスク上の各JSONファイルからすべてのプラグイン設定を再インポートする。</td></tr><tr><td>POST</td><td><code>/api/PluginSettings/{pluginName}/revert</code></td><td>管理者</td><td>1つのプラグインの設定をそのJSONファイルから再インポートする。</td></tr></tbody></table>

プラグインのJSONファイルを編集したあとや、ポリシーで構成をプッシュしたあとは、メモリ上の設定をディスクと一致させるために**revert**または**revert-all**を使用する。

***

### Keeper登録

<table><thead><tr><th width="107.69140625">メソッド</th><th>パス</th><th>認証</th><th>説明</th></tr></thead><tbody><tr><td>GET</td><td><code>/api/Keeper/registration</code></td><td>プラグイン</td><td>エージェント登録ステータスを取得する (AgentUID、IsRegistered、Hostnameなど)。</td></tr><tr><td>POST</td><td><code>/api/Keeper/register</code></td><td>管理者 (一部のデプロイでは公開)</td><td>エージェントを登録する。クエリパラメータ<code>token=...</code> (および任意の<code>force=true</code>)。</td></tr><tr><td>POST</td><td><code>/api/Keeper/unregister</code></td><td>管理者</td><td>エージェントの登録を解除する。</td></tr></tbody></table>

**例 (登録)**:

```
curl -X POST "https://localhost:6889/api/Keeper/register?token=YOUR_TOKEN" -k
```

***

### その他のエンドポイント群

APIには次のエンドポイントも含まれる。

* **監査** — 監査イベントのGET/POST。
* **通知** — 通知の送信。
* **ファイルアクセス** — ファイルアクセスの要求、付与、取り消し。履歴。
* **ユーザーセッション** — ユーザーセッションでのプロセス起動、起動の検証。
* **一時アカウント (エフェメラル)** — 一時アカウント (エフェメラルアカウント) の起動、一覧/削除、クリーンアップ。
* **コントロール** — コントロール要求、承認、承認済み要求の起動。
* **認証情報** — リスク評価用認証情報の保存/取得/削除。
* **パス変数** — カスタムパス変数の作成/更新/削除 (有効な場合)。

正確なパスおよびリクエスト/レスポンスの形は製品のAPIに従う。上記の表は最も一般的な**管理**タスクをまとめたものである。スクリプトでは**HTTPS**を使用し、**403** (認証)および**404** (見つからない) を扱い、必要に応じて管理者または適切な証明書を使用する。


---

# 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/local-endpoints.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.
