> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/endpoint-privilege-manager/reference/macos-two-layer-bypass-architecture.md).

# macOS: 二層バイパスアーキテクチャ

## macOSエージェントのファイルアクセスポリシー評価の仕組み <a href="#how-the-macos-agent-handles-file-access-policy-evaluation" id="how-the-macos-agent-handles-file-access-policy-evaluation"></a>

macOSでは、ファイルアクセスポリシーの評価には2つの独立したバイパス層があります。ポリシーを設計し、エージェントログを解釈する際は、両方を理解しておくことが重要です。

### **レイヤー1 — システム拡張の許可パス (カーネルレベル、ポリシー評価前)** <a href="#layer-1-system-extension-allow-paths-kernel-level-before-policy-evaluation" id="layer-1-system-extension-allow-paths-kernel-level-before-policy-evaluation"></a>

macOSシステム拡張では、カーネルレベルのexecフィルターが動作します。リクエストがKeeperPolicy評価エンジンに到達する前に、実行ファイルのパスが `SystemExtension.json` 内の `fileAccess.allowPaths` リストと照合されます。パスが一致した場合、KeeperPolicyへの往復なしで即座にALLOWレスポンスが返されます。

このフィルターはパフォーマンス最適化のために存在します。これがない場合、macOSのログインセッションでは750件以上のポリシー評価リクエストが生成され、1件あたり平均300〜400msかかるため、ログイン時間が約10分に及ぶことがあります。フィルターがある場合、大半のシステムフレームワークおよびサービスリクエストは1ms未満でカーネルレベルで解決されます。

デフォルトの `fileAccess.allowPaths` リストには以下が含まれます。

| パス                                  | 説明                  |
| ----------------------------------- | ------------------- |
| `/System/Library/PrivateFrameworks` | プライベートシステムフレームワーク   |
| `/System/Library/Frameworks`        | パブリックシステムフレームワーク    |
| `/System/Library/CoreServices`      | コアシステムサービス          |
| `/System/Applications`              | macOS組み込みアプリケーション   |
| `/usr/libexec`                      | システムデーモンとユーティリティ    |
| `/usr/sbin`                         | システム管理バイナリ          |
| `/Library/Keeper`                   | Keeperエージェントユーティリティ |

{% hint style="info" %}
これらのパス内の実行ファイルは即座に許可され、実行ファイルが変更されるかマシンが再起動されるまで、すべてのユーザー向けにシステム全体で認可決定がキャッシュされます。このリストへのパス追加は、すべてのユーザーに均一に適用すべき決定の場合に限ってください。
{% endhint %}

### **レイヤー2 — KeeperPolicy エンジンの保護パス (ポリシーレベル)** <a href="#layer-2-keeperpolicy-engine-protected-paths-policy-level" id="layer-2-keeperpolicy-engine-protected-paths-policy-level"></a>

リクエストがレイヤー1を通過してKeeperPolicy評価エンジンに到達した場合、独自の保護パスロジックが適用されます。実行ファイルのパスが保護ディレクトリ内にあり、一致したポリシーがワイルドカードベースの場合、すべてのワイルドカードポリシーコントロールがバイパスされ、実行が許可されます。ただし、同じ実行ファイル向けの明示的な完全一致パスポリシーが存在する場合は除きます。

これはエージェントログに以下のように記録されます。

```
[PROTECTED_PATH_BYPASS_ALL_CONTROLS] [POLICY <ID>] [NONE] [POLICY_EXECUTION_GRANT]
```

`[POLICY <ID>]` フィールドは、ポリシーが**一致した**ことを示します。バイパスはポリシーが見つからなかったことではなく、パスが保護されているため、ワイルドカード一致が意図的に上書きされた結果です。同じ実行ファイル向けの完全一致パスポリシーは尊重されます。

### **macOSでKeeperPolicyエンジンレベルの保護パス** <a href="#protected-paths-at-the-keeperpolicy-engine-level-on-macos-include" id="protected-paths-at-the-keeperpolicy-engine-level-on-macos-include"></a>

<table><thead><tr><th width="261.48486328125">パス</th><th>説明</th></tr></thead><tbody><tr><td><code>/System</code></td><td>macOSシステムルートとすべてのサブディレクトリ</td></tr><tr><td><code>/bin</code></td><td>必須システムバイナリ</td></tr><tr><td><code>/sbin</code></td><td>システム管理バイナリ</td></tr><tr><td><code>/usr/bin</code></td><td>ユーザー向けシステムユーティリティ</td></tr><tr><td><code>/usr/sbin</code></td><td>システム管理ユーティリティ</td></tr><tr><td><code>/private/etc</code></td><td>システム構成ファイル</td></tr><tr><td><code>/Library/Security</code></td><td>セキュリティフレームワーク</td></tr><tr><td><code>/Applications/Utilities</code></td><td>組み込みユーティリティアプリケーション</td></tr><tr><td><code>/Applications</code></td><td>メインApplicationsディレクトリ内のすべてのアプリケーション</td></tr><tr><td><code>/System/Applications</code></td><td>macOS組み込みアプリケーション</td></tr></tbody></table>

{% hint style="info" %}
`/Applications` と `/System/Applications` が保護される設計上の理由については、[macOS: 保護パスの設計意図](/keeperpam/jp/endpoint-privilege-manager/reference/macos-protected-path-design-intent.md)をご参照ください。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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/macos-two-layer-bypass-architecture.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.
