アーキテクチャー
システムアーキテクチャー
概要
第1章 Red Hat Advanced Cluster Security for Kubernetes アーキテクチャー
Red Hat Advanced Cluster Security for Kubernetes アーキテクチャーおよび概念をご覧ください。
1.1. Red Hat Advanced Cluster Security for Kubernetes アーキテクチャーの概要
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、大規模なデプロイメントをサポートし、基盤となる OpenShift Container Platform ノードまたは Kubernetes ノードへの影響を最小限に抑えるように最適化された分散アーキテクチャーを使用します。
図1.1 Kubernates 向け Red Hat Advanced Cluster Security for Kubernetes アーキテクチャー

RHACS を Kubernetes 上と OpenShift Container 上にインストールする場合、アーキテクチャーはわずかに異なります。ただし、基礎となるコンポーネントとそれらの間のインタラクションは同じままです。
OpenShift Container Platform または Kubernetes クラスターにコンテナーセットとして RHACS をインストールします。RHACS には以下が含まれます。
- 1 つのクラスターにインストールするセントラルサービス。
- RHACS によりセキュリティー保護する各クラスターにインストールするセキュアなクラスターサービス。
これらの主要サービスに加え、RHACS は他の外部コンポーネントとも対話して、クラスターのセキュリティーを強化します。
1.2. セントラルサービス
単一のクラスターにセントラルサービスをインストールします。これらのサービスには、Central と Scanner の 2 つの主要コンポーネントが含まれます。
- Central: Central セントラルは、RHACS アプリケーション管理インターフェイスおよびサービスです。データの永続性、API インタラクション、およびユーザーインターフェイス (RHACS ポータル) アクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターをセキュリティー保護できます。
Scanner: Scanner は、Red Hat が開発および認定した、コンテナーイメージをスキャンするための脆弱性スキャナーです。Scanner は次の機能を実行します。
- すべてのイメージレイヤーを分析して、Common Vulnerabilities and Exposures (CVE) リストから既知の脆弱性をチェックします。
- インストールされているパッケージの脆弱性と、複数のプログラミング言語の依存関係を特定します。コンテナーイメージのスキャンに加えて、Scanner はノードのオペレーティングシステムとオーケストレーターの脆弱性を特定します。たとえば、ノードをスキャンして、Kubernetes、OpenShift Container Platform、Istio の脆弱性を特定します。
1.3. 安全なクラスターサービス
Red Hat Advanced Cluster Security for Kubernetes を使用してセキュリティー保護するすべてのクラスター (Central をインストールしたクラスターを含む) に、セキュアなクラスターサービスをインストールします。セキュリティーで保護されたクラスターサービスには、次のコンポーネントが含まれます。
- Sensor: Sensor は、クラスターの分析と監視を担当するサービスです。Sensor は、OpenShift Container Platform または Kubernetes API および Collector イベントをリッスンして、クラスターの現在の状態を報告します。Sensor は、RHACS ポリシーに基づいてデプロイタイムおよびランタイムの違反もトリガーします。さらに、Sensor は、ネットワークポリシーの適用、RHACS ポリシーの再処理の開始、Admission コントローラーとの対話など、すべてのクラスターの対話を担当します。
- Admission コントローラー: Admission コントローラーは、ユーザーが RHACS のセキュリティーポリシーに違反するワークロードを作成するのを防ぎます。
- Collector: Collector は、クラスターノード上のコンテナーアクティビティーを分析および監視します。コンテナーのランタイムとネットワークアクティビティーの情報を収集し、収集したデータを Sensor に送信します。
- Scanner: Kubernetes では、セキュアなクラスターサービスに Scanner は含まれません。ただし、OpenShift Container Platform では、RHACS は統合された OpenShift Container Platform レジストリー内のイメージをスキャンするために、セキュアなクラスターごとに軽量 Scanner バージョンをインストールします。
1.4. 外部コンポーネント
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、以下の外部コンポーネントと対話します。
- サードパーティーシステム: RHACS を、CI/CD パイプライン、イベント管理 (SIEM) システム、ロギング、電子メールなどの他のシステムと統合できます。
-
roxctl:roxctlは、RHACS でコマンドを実行するためのコマンドラインインターフェイス (CLI) です。 - イメージレジストリー: RHACS をさまざまなイメージレジストリーと統合し、RHACS を使用してイメージをスキャンおよび表示できます。RHACS は、セキュアなクラスターで検出されたイメージプルシークレットを使用して、アクティブなイメージのレジストリー統合を自動的に設定します。ただし、非アクティブなイメージをスキャンするには、レジストリー統合を手動で設定する必要があります。
-
definitions.stackrox.io: RHACS は、definitions.stackrox.ioエンドポイントでさまざまな脆弱性フィードからのデータを集約し、この情報を Central に渡します。フィードには、一般的な National Vulnerability Database (NVD) データと、Alpine、Debian、Ubuntu などのディストリビューション固有のデータが含まれます。 -
collector-modules.stackrox.io: Central は、collector-modules.stackrox.ioにアクセスして、サポートされているカーネルモジュールを取得し、これらのモジュールを Collector に渡します。
1.5. OpenShift Container Platform と Kubernetes にインストールした場合のアーキテクチャーの違い
RHACS を OpenShift Container Platform にインストールする場合、アーキテクチャー上の違いは 2 つだけです。
- Operator または Helm インストール方法を使用して OpenShift Container Platform に RHACS をインストールすると、RHACS はすべてのセキュアなクラスターに Scanner の軽量バージョンをインストールします。軽量の Scanner は、統合された OpenShift Container Registry (OCR) 内のイメージのスキャンを可能にします。
- Sensor は、Central をインストールしたクラスター内の Scanner と通信します。この接続により、クラスターに接続されている内部レジストリーにアクセスできます。
図1.2 OpenShift Container Platform 向け Red Hat Advanced Cluster Security for Kubernetes アーキテクチャー

1.6. サービス間の対話
このセクションでは、RHACS サービスがどのように対話するかについて説明します。
| コンポーネント | 方向 | 対話先 | 説明 |
|---|---|---|---|
| Central | ⮂ | Scanner | Central と Scanner の間に双方向通信があります。Central は Scanner にイメージスキャンを要求し、Scanner は Central に CVE データベースの更新を要求します。 |
| Central | ➞ |
|
Central は、 |
| Central | ➞ |
|
Central は、サポートされているカーネルモジュールを |
| Central | ➞ | イメージレジストリー | Central はイメージレジストリーにクエリーを実行して、イメージメタデータを取得します。たとえば、RHACS ポータルで Dockerfile の手順を表示します。 |
| Scanner | ➞ | イメージレジストリー | Scanner はイメージレジストリーからイメージをプルして、脆弱性を特定します。 |
| Sensor | ⮂ | Central | Central と Sensor の間には双方向通信があります。Sensor は、センサーバーンドル設定の更新をダウンロードするために定期的に Central をポーリングします。また、セキュアなクラスターで観察されたアクティビティーと観察されたポリシー違反のイベントも送信します。Central は Sensor と通信して、有効なポリシーに対してすべてのデプロイメントの再処理を強制します。 |
| Sensor | ⮂ | Scanner |
OpenShift Container Platform でのみ、Sensor は Scanner と通信して、クラスターに接続されたローカルレジストリーにアクセスします。Scanner は Sensor と通信して、 |
| Collector | ⮂ | Sensor | Collector は Sensor と通信し、すべてのイベントをクラスターのそれぞれの Sensor に送信します。Collector は、不明ドライバーも Sensor に要求します。Sensor は、Collector にコンプライアンススキャン結果を要求します。さらに Sensor は、Central から外部の Classless Inter-Domain Routing 情報を受け取り、それを Collector にプッシュします。 |
| 受付コントローラー | ⮂ | Sensor | Sensor は、適用するセキュリティーポリシーのリストを Admission コントローラーに送信します。Admission コントローラーは、セキュリティーポリシー違反アラートを Sensor に送信します。Admission コントローラーは、必要に応じて Sensor にイメージスキャンを要求することもできます。 |
| 受付コントローラー | ➞ | Central | これは一般的ではありません。ただし、Central エンドポイントが判明しており、かつ Sensor が使用できない場合、Admission コントローラーは Central と直接通信できます。 |