# アーキテクチャ図

## アーキテクチャ図

KeeperPAMのインフラとセキュリティモデルでは、エンドユーザーのデバイスとインフラ間でゼロ知識暗号化を活用します。Keeperのサーバーでは、セッションを復号化したり、インターセプトしたりすることができません。

Keeperは高可用性、大規模対応、安全な認証、堅牢な災害復旧を目的に設計されています。Amazon Web Services (AWS) 上に構築されたKeeperの基盤は、複数の地域・複数のゾーンに分散しており、地理的な冗長性を確保しています。すべての主要サービスは高可用性を前提に設計され、AWSの推奨手法を活用して耐障害性と信頼性を備えています。システムは需要の増加に応じて自動的に拡張され、性能が損なわれることはありません。Keeperの基盤は数百万の利用者と端末を支えています。

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

利用者側では、すべてのPAMアクセスに対してKeeperのボルトがユーザーに配布されます。ボルトはKeeperの基盤APIと通信し、リソースへの接続を確立します。Keeperのゼロ知識APIにより、Keeperの基盤システムは保存された利用者データを復号することができません。データの暗号化と復号は常に端末上で処理されます。

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

KeeperシークレットマネージャーとKeeperゲートウェイデバイスは、シークレットの取得、認証情報のローテーション、リソースの検出、特権セッションの中継を利用者のローカル環境またはクラウド環境に対して行います。これらの装置はKeeperのクラウドAPIと直接通信し、状態管理、暗号化されたデータ保存、監査イベントの記録、セッション記録を処理します。これらの装置自体はデータの管理を担わないため、Keeperの設計は、利用者側に特別なホスティング要件を課すことなく環境を自動的に拡張できるようになっています。

利用者がKeeperゲートウェイやKeeperシークレットマネージャー装置を導入する場合、通常はDockerコンテナとして展開されます。利用者はKubernetes、Docker Swarm、Amazon ECSなど、好みのコンテナ管理基盤を使って配備を管理し、拡張性を確保し、必要な冗長性を提供できます。

複数のKeeperゲートウェイをKeeperボルト内の同じリソースやフォルダに割り当てることで、物理的な冗長性を確立することも可能です。

## コンポーネント

### Keeperゲートウェイ

Keeperゲートウェイは、お客様の環境にインストールされ、Keeperサービスとアウトバウンドで通信します。ゲートウェイは、認証情報のローテーション、検出、ネットワーク上のアセットへの接続を処理します。ゲートウェイはKeeperルータからコマンドを受け取り、KeeperシークレットマネージャーAPIを利用してデータの認証、通信、復号化を行います。

### Keeperルータ

Keeperルータは、Keeperのクラウド内に存在するインフラストラクチャサービスで、Keeperサービスとローテーションゲートウェイとの接続を管理します。クラウドルータは、Keeperボルト、お客様のゲートウェイ、Keeperのバックエンドサービス間でリアルタイムのメッセージングと通信を行います。

### Keeperリレー

Keeperリレーは、Keeperのクラウド内にあるインフラストラクチャで、エンドユーザーのボルトインターフェースとお客様がホストするKeeperゲートウェイサービスとの間で暗号化された[WebRTC](https://ja.wikipedia.org/wiki/WebRTC)接続を確立する役割を担っています。

### KeeperバックエンドAPI

KeeperバックエンドAPIは、すべてのKeeperクライアントアプリケーションが通信するエンドポイントです。クライアントアプリケーションは、ローカルでデータを暗号化し、暗号化された暗号文を[Protocol Buffer](https://ja.wikipedia.org/wiki/Protocol_Buffers)フォーマットでAPIに送信します。

### スケジューラ

Keeperがホストするインフラストラクチャで、ターゲットインフラ内での認証情報のローテーションスケジュールのタイミングとロジスティクスを管理します。

### 管理コンソールとコントロールプレーン

管理コンソールでは、すべてのKeeperコンポーネントにわたるポリシーの設定と適用を行います。

### クライアントアプリケーション

ボルトの管理、パスワードのローテーション、検出ジョブの実行、接続の作成、トンネルの管理を行うためのエンドユーザーインターフェースです。

### データフロー

1. Keeperユーザーがボルトインターフェース、管理コンソール、コマンダーCLI、他のエンドポイントアプリケーションを通じて、ローテーション、接続、トンネリング、検出アクションを実行します。
2. KeeperゲートウェイがKeeperルータへのアウトバウンドWebSocket接続を確立し、アクションの実行要求を受け取ります。
3. ボルトクライアントアプリケーションが、顧客がホストするKeeperゲートウェイとのWebRTC接続を確立します。
4. KeeperゲートウェイがKeeperシークレットマネージャーAPIを使用してボルトから必要なシークレットを取得します。
5. Keeperゲートウェイがターゲットインフラでのアクション (認証情報のローテーションや特権セッションの確立など) を実行し、関連するKeeperボルトレコードを更新します。
6. KeeperゲートウェイがネイティブプロトコルとAPIを使用して、ゲートウェイまたはターゲットマシン上で必要な権限自動化スクリプトを実行します。
7. クライアントデバイスでは、KeeperシークレットマネージャーAPIを使用して更新されたレコードを安全に取得します。
8. ボルトのエンドユーザーは、対象のインフラに対してゼロトラストの暗号化セッションを介して対象システムとやり取りします。
9. ボルトでは、Keeperクラウドへの暗号化同期を実行し、最新のレコードコンテンツを取得します。
10. Keeperの高度なレポートとアラートモジュールでは、すべてのイベントがログに記録され、アラートを発動します。


---

# 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/privileged-access-manager/getting-started/architecture/system-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.
