インストール
Red Hat Advanced Cluster Security for Kubernetes のインストール
概要
第1章 RHACS のインストールの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、OpenShift Container Platform または Amazon Elastic Kubernetes Service (Amazon EKS)、Google Kubernetes Engine (Google GKE)、Microsoft Azure Kubernetes Service (Microsoft AKS) などのセルフマネージド Red Hat OpenShift Kubernetes システム、またはプラットフォームにセキュリティサービスを提供します。
サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
1.1. 汎用インストールガイドライン リンクのコピーリンクがクリップボードにコピーされました!
最適なインストールを行うには、次のガイドラインに従ってください。
- このモジュールで説明されているインストールのプラットフォームと方法を理解する。
- Red Hat Advanced Cluster Security for Kubernetes のアーキテクチャー を理解する。
- デフォルトのリソース要件 を確認する。
1.2. 各プラットフォームのインストール方法 リンクのコピーリンクがクリップボードにコピーされました!
各種のプラットフォームで各種のインストールを実行できます。
すべてのプラットフォームですべてのインストール方法がサポートされているわけではありません。詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。
| プラットフォームタイプ | プラットフォーム | 推奨されるインストール方法 | インストールの手順 |
|---|---|---|---|
| マネージドサービスプラットフォーム | Red Hat OpenShift Dedicated (OSD) |
Operator (推奨)、Helm チャート、または | |
| Azure Red Hat OpenShift (ARO) | |||
| Red Hat OpenShift Service on AWS (ROSA) | |||
| Red Hat OpenShift on IBM Cloud | |||
| Amazon Elastic Kubernetes Service (Amazon EKS) |
Helm チャート (推奨)、または | ||
| Google Kubernetes Engine (Google GKE) | |||
| Microsoft Azure Kubernetes Service (Microsoft AKS) | |||
| セルフマネージドプラットフォーム | Red Hat OpenShift Container Platform (OCP) |
Operator (推奨)、Helm チャート、または | |
| Red Hat OpenShift Kubernetes Engine (OKE) |
-
このインストール方法に従うための特別な要件がない限り、
roxctlインストール方法を使用しないでください。
1.3. 各アーキテクチャーのインストール方法 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、次のアーキテクチャーをサポートします。サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。また、以下の表では、各アーキテクチャーで利用可能なインストール方法を説明します。
| サポートされているアーキテクチャー | サポート対象のインストール方法 |
|---|---|
| AMD64 |
Operator (推奨)、Helm チャート、または |
| ppc64le (IBM Power) | Operator |
| s390x (IBM Z および IBM® LinuxONE) | |
|
AArch64 ( |
Operator (推奨)、Helm チャート、または |
1.4. OpenShift Container Platform での RHACS のインストール手順 リンクのコピーリンクがクリップボードにコピーされました!
1.4.1. RHACS Operator を使用した Red Hat OpenShift への RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
-
Red Hat OpenShift クラスターで、RHACS Operator を
rhacs-operatorプロジェクトまたは namespace にインストールします。 -
Central を追加する Red Hat OpenShift クラスター (Central クラスターと呼ばれます) で、RHACS Operator を使用して Central サービスを
stackroxプロジェクトにインストールします。1 つの Central クラスターで複数のクラスターを保護できます。 - Central クラスターから RHACS Web コンソールにログインし、init バンドルまたはクラスター登録シークレット (CRS) を作成してダウンロードします。次に、init バンドルを、保護対象のクラスター (セキュアクラスターと呼ばれます) にインストールします。
セキュアクラスターに対して以下を実行します。
-
RHACS Operator を
rhacs-operatornamespace にインストールします。 セキュアクラスターで、次のいずれかの手順を実行して、RHACS で作成した init バンドルまたは CRS を適用します。
-
OpenShift Container Platform Web コンソールを使用して、作成した init バンドルまたは CRS の YAML ファイルをインポートします。必ず
stackroxnamespace に移動してから実行してください。 OpenShift CLI を使用して、次のいずれかのアクションを実行します。
-
init バンドルを作成した場合は、ターミナルウィンドウで
oc create -f <init_bundle.yaml> -n <stackrox>コマンドを実行し、init バンドルのダウンロードした YAML ファイルへのパスを指定します。 -
CRS を作成した場合は、ターミナルウィンドウで、ダウンロードした CRS へのパスを指定して
oc create -f <file_name.yaml> -n <stackrox>コマンドを実行します。
-
init バンドルを作成した場合は、ターミナルウィンドウで
-
OpenShift Container Platform Web コンソールを使用して、作成した init バンドルまたは CRS の YAML ファイルをインポートします。必ず
-
セキュアクラスターで、RHACS Operator を使用して、セキュアクラスターサービスを
stackroxnamespace にインストールします。セキュアクラスターサービスを作成するときは、セキュアクラスターが Central と通信できるように、Central Endpoint フィールドに Central のアドレスを必ず入力してください。
-
RHACS Operator を
1.4.2. Helm チャートを使用した Red Hat OpenShift への RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
- RHACS Helm チャートリポジトリーを追加します。
-
central-servicesHelm チャートを、Central を追加する Red Hat OpenShift クラスター (Central クラスターと呼ばれます) にインストールします。 - Central クラスターの RHACS Web コンソールにログインし、init バンドルまたは CRS を作成します。
-
保護するクラスターごとにセキュアクラスターにログインし、作成した init バンドルまたは CRS へのパスを指定して
helm installコマンドを使用し、secured-cluster-servicesHelm チャートをインストールします。
1.4.3. roxctl CLI を使用した Red Hat OpenShift への RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
このインストール方法は、マニフェストインストール方法 とも呼ばれます。
-
roxctlCLI をインストールします。 Central を追加する Red Hat OpenShift クラスターで、次の手順を実行します。
-
ターミナルウィンドウで、
roxctlCLI を使用して対話型インストールコマンドを実行します。 - セットアップシェルスクリプトを実行します。
-
ターミナルウィンドウで、
oc createコマンドを使用して Central リソースを作成します。
-
ターミナルウィンドウで、
次のいずれかの操作を実行します。
- RHACS Web コンソールで、Sensor の YAML ファイルとキーを作成してダウンロードします。
-
セキュアクラスターで、
roxctl sensor generate openshiftコマンドを使用します。
- セキュアクラスターで、Sensor のインストールスクリプトを実行します。
1.5. Kubernetes での RHACS のインストール手順 リンクのコピーリンクがクリップボードにコピーされました!
1.5.1. Helm チャートを使用した Kubernetes プラットフォームへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
- RHACS Helm チャートリポジトリーを追加します。
-
Central を追加するクラスター (Central クラスターと呼ばれます) に
central-servicesHelm チャートをインストールします。 Central クラスターから RHACS Web コンソールにログインし、保護するクラスター (セキュアクラスターと呼ばれます) に適用する必要がある init バンドルまたはクラスター登録シークレット (CRS) を作成します。init バンドルまたは CRS には、RHACS が Central とセキュアクラスター間の信頼済み接続を確立するために使用する暗号化アーティファクトが含まれています。
重要クラスター登録シークレットはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
セキュアクラスターごとに、次のいずれかのコマンドを実行して
secured-cluster-servicesHelm チャートをインストールします。init バンドルの場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRS の場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.2. roxctl CLI を使用した Kubernetes プラットフォームへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
このインストール方法は、マニフェストインストール方法 とも呼ばれます。
-
roxctlCLI をインストールします。 Central を追加する Kubernetes クラスターで、次の手順を実行します。
-
ターミナルウィンドウで、
roxctlCLI を使用して対話型インストールコマンドを実行します。 - セットアップシェルスクリプトを実行します。
-
ターミナルウィンドウで、
kubectl createコマンドを使用して Central リソースを作成します。
-
ターミナルウィンドウで、
次のいずれかの操作を実行します。
- RHACS Web コンソールで、Sensor の YAML ファイルとキーを作成してダウンロードします。
-
保護対象のクラスター (セキュアクラスターと呼ばれます) で、
roxctl sensor generate openshiftコマンドを使用します。
- セキュアクラスターで、Sensor のインストールスクリプトを実行します。
第2章 Red Hat Advanced Cluster Security for Kubernetes のデフォルトのリソース要件 リンクのコピーリンクがクリップボードにコピーされました!
2.1. 一般的な RHACS 要件 リンクのコピーリンクがクリップボードにコピーされました!
RHACS をインストールする前に、システムがいくつかの要件を満たしている必要があります。
以下の場所に RHACS をインストールしないでください。
- Amazon Elastic File System (Amazon EFS)。代わりに、デフォルトの gp2 ボリュームタイプで Amazon Elastic Block Store (Amazon EBS) を使用してください。
- Streaming SIMD Extensions (SSE) 4.2 命令セットを備えていない古い CPU。たとえば、Sandy Bridge より古い Intel プロセッサー、および Bulldozer より古い AMD プロセッサー。これらのプロセッサーは 2011 年にリリースされました。
RHACS をインストールするには、次のいずれかのシステムが必要です。
- OpenShift Container Platform バージョン 4.12 以降、および Red Hat Enterprise Linux CoreOS (RHCOS) または Red Hat Enterprise Linux (RHEL) のサポートされているオペレーティングシステムを搭載したクラスターノード。
サポートされているマネージド Kubernetes プラットフォーム、および Amazon Linux、CentOS、Google の Container-Optimized OS、Red Hat Enterprise Linux CoreOS (RHCOS)、Debian、Red Hat Enterprise Linux (RHEL)、または Ubuntu のサポートされているオペレーティングシステムを搭載したクラスターノード。
サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
クラスターノードには、次の最小要件と推奨事項が適用されます。
- アーキテクチャー
amd64、ppc64le、またはs390x注記RHACS 4.3 以降、Central クラスターサービスとセキュアクラスターサービスの両方が、IBM Power (
ppc64le)、IBM Z (s390x)、および IBM® LinuxONE (s390x) クラスターでサポートされます。- プロセッサー
- 3 つの CPU コアが必要です。
- メモリー
6 GiB の RAM が必要です。
注記各コンポーネントのデフォルトのメモリー要件と CPU 要件を確認し、ノードサイズがそれらをサポートできることを確認してください。
- ストレージ
Central がインストールされているクラスターには、永続ボリューム要求 (PVC) が必要です。Scanner V4 が有効になっているセキュアクラスターでは、PVC の使用を強く推奨します。最高のパフォーマンスを得るには、ソリッドステートドライブ (SSD) を使用してください。ただし、SSD を使用できない場合は、別のタイプのストレージを使用できます。
重要Red Hat Advanced Cluster Security for Kubernetes で Ceph FS ストレージを使用しないでください。Red Hat は、Red Hat Advanced Cluster Security for Kubernetes に RBD ブロックモードの PVC を使用することを推奨します。
Helm チャートを使用して RHACS をインストールする場合は、次の要件を満たす必要があります。
-
Helm チャートを使用して RHACS をインストールまたは設定する場合は、Helm コマンドラインインターフェイス (CLI) v3.2 以降が必要です。
helm versionコマンドを使用して、インストールされている Helm のバージョンを確認します。 -
Red Hat コンテナーレジストリーにアクセスできる必要があります。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
2.2. Central サービス (セルフマネージド) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) を使用している場合、Central サービスは Red Hat によって管理されるため、Central サービスの要件を確認する必要はありません。確認する必要があるのは、セキュアクラスターサービスの要件のみです。
Central サービスには次のコンポーネントが含まれています。
- Central
- Scanner V4
- StackRox Scanner (オプション)
2.2.1. Central リンクのコピーリンクがクリップボードにコピーされました!
Central と呼ばれるコンテナー化されたサービスは API インタラクションと RHACS Web ポータルアクセスを処理し、Central DB (PostgreSQL 15) と呼ばれるコンテナー化されたサービスはデータの永続性を処理します。
Central がインストールされているクラスターでは、Central DB に永続ストレージが必要です。
ストレージは永続ボリューム要求 (PVC) を使用して提供できます。
注記hostPath ボリュームをストレージに使用できるのは、すべてのホスト (またはホストのグループ) が NFS 共有やストレージアプライアンスなどの共有ファイルシステムをマウントしている場合のみです。それ以外の場合、データは単一のノードにのみ保存されます。Red Hat は、hostPath ボリュームの使用を推奨していません。
- 最高のパフォーマンスを得るには、ソリッドステートドライブ (SSD) を使用してください。ただし、SSD を使用できない場合は、別のタイプのストレージを使用できます。
Web プロキシーまたはファイアウォールを使用する場合は、
definitions.stackrox.ioドメインのトラフィックを許可し、RHACS が Web プロキシーまたはファイアウォールを信頼できるようにバイパスルールを設定する必要があります。そうしないと、脆弱性の更新に失敗します。また、セキュアクラスター上の Sensor からポート 443 上の Central への着信接続が可能であることも確認する必要があります。Red Hat Advanced Cluster Security for Kubernetes には、以下へのアクセスが必要です。
-
更新された脆弱性データをダウンロードするには、
definitions.stackrox.ioにアクセスしてください。脆弱性の更新により、Red Hat Advanced Cluster Security for Kubernetes は、新しい脆弱性が発見されたとき、または追加のデータソースが追加されたときに、最新の脆弱性データを維持できます。
-
更新された脆弱性データをダウンロードするには、
セキュリティー上の理由から、管理アクセスが制限されたクラスターに Central をデプロイする必要があります。
2.2.2. CPU、メモリー、ストレージの要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、Central をインストールして実行するために必要な最小 CPU およびメモリーの値を示しています。
| Central | CPU | メモリー |
|---|---|---|
| 要求 | 1.5 コア | 4 GiB |
| 制限 | 4 コア | 8 GiB |
Central ではデータを保存するために Central DB が必要です。次の表に、Central DB のインストールと実行に必要な最小 CPU、メモリーとストレージの値を示します。
| Central DB | CPU | メモリー | ストレージ |
|---|---|---|---|
| 要求 | 4 コア | 8 GiB | 100 GiB |
| 制限 | 8 コア | 16 GiB | 100 GiB |
2.2.3. Scanner リンクのコピーリンクがクリップボードにコピーされました!
Scanner は、イメージ、ノード、プラットフォームをスキャンして脆弱性を検出します。
RHACS には、StackRox Scanner と Scanner V4 という 2 つのイメージ脆弱性スキャナーが含まれています。StackRox Scanner は非推奨となりました。Scanner V4 はリリース 4.4 で導入され、リリース 4.8 以降ではデフォルトのイメージスキャナーとなりました。
2.2.4. StackRox Scanner リンクのコピーリンクがクリップボードにコピーされました!
次の表は、StackRox Scanner をインストールして実行するために必要な最小 CPU およびメモリーの値を示しています。この表の要件は、デフォルトである 3 レプリカに基づいています。
| StackRox Scanner | CPU | メモリー |
|---|---|---|
| 要求 | 3 コア | 4500 MiB |
| 制限 | 6 コア | 12 GiB |
StackRox Scanner では、データを保存するために Scanner DB (PostgreSQL 15) が必要です。このデータは保存されません。次の表は、Scanner DB をインストールして実行するために必要な最小 CPU およびメモリーの値を示しています。
| Scanner DB | CPU | メモリー |
|---|---|---|
| 要求 | 0.2 コア | 512 MiB |
| 制限 | 2 コア | 4 GiB |
2.2.5. Scanner V4 リンクのコピーリンクがクリップボードにコピーされました!
Scanner V4 Indexer
この表の要件は、デフォルトである 3 レプリカに基づいています。
| Scanner V4 Indexer | CPU | メモリー |
|---|---|---|
| 要求 | 3 コア | 4500 MiB |
| 制限 | 6 コア | 9 GiB |
Scanner V4 Matcher
この表の要件は、デフォルトである 2 レプリカに基づいています。
| Scanner V4 Matcher | CPU | メモリー |
|---|---|---|
| 要求 | 2 コア | 1000 MiB |
| 制限 | 4 コア | 4 GiB |
Scanner V4 DB
Scanner V4 では、データを保存するには Scanner V4 DB (PostgreSQL 15) が必要です。Scanner V4 DB の場合、最適なパフォーマンスを確保するには PVC が必要です。次の表に、Scanner V4 DB をインストールして実行するために必要な CPU、メモリーとストレージの最小値を示します。
| Scanner V4 DB | CPU | メモリー | ストレージ |
|---|---|---|---|
| 要求 | 0.2 コア | 3 GiB | 50 GiB |
| 制限 | 2 コア | 4 GiB | 50 GiB |
2.3. セキュアクラスターサービス リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターサービスには、次のコンポーネントが含まれています。
- Sensor
- Admission コントローラー
- Collector
- Scanner (オプション)
- Scanner V4 (オプション)
Web プロキシーまたはファイアウォールを使用する場合は、セキュアクラスターと Central が HTTPS ポート 443 で通信できることを確認する必要があります。
2.3.1. Sensor リンクのコピーリンクがクリップボードにコピーされました!
Sensor は、Kubernetes および OpenShift Container Platform クラスターをモニターします。これらのサービスは現在、単一のデプロイメントにデプロイされており、Kubernetes API とのやり取りを処理し、他の Red Hat Advanced Cluster Security for Kubernetes コンポーネントと調整します。
2.3.1.1. ディスクおよびメモリーの要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、セキュアクラスターに Sensor をインストールして実行するために必要な最小 CPU およびメモリー値を示しています。
| Sensor | CPU | メモリー |
|---|---|---|
| 要求 | 2 コア | 4 GiB |
| 制限 | 4 コア | 8 GiB |
2.3.2. Admission コントローラー リンクのコピーリンクがクリップボードにコピーされました!
Admission コントローラーは、ユーザーが設定したポリシーに違反するワークロードを作成するのを防ぎます。
2.3.2.1. ディスクおよびメモリーの要件 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、アドミッションコントロールサービスは 3 つのレプリカを実行します。次の表に、各レプリカのリクエストと制限を示します。
| Admission コントローラー | CPU | メモリー |
|---|---|---|
| 要求 | 0.05 コア | 100 MiB |
| 制限 | 0.5 コア | 500 MiB |
2.3.3. Collector リンクのコピーリンクがクリップボードにコピーされました!
Collector は、DaemonSet としてセキュアクラスター内の各ノードのランタイムアクティビティーを監視します。Sensor に接続してこの情報をレポートします。コレクター Pod には 3 つのコンテナーがあります。最初のコンテナーは Collector で、ノード上の実行時アクティビティーを監視して報告します。他の 2 つはコンプライアンスと node-inventory です。
2.3.3.1. コレクション要件 リンクのコピーリンクがクリップボードにコピーされました!
CORE_BPF 収集方法を使用するには、ベースカーネルが BTF をサポートし、BTF ファイルが Collector で使用できる必要があります。通常、カーネルのバージョンは 5.8 (RHEL ノードの場合は 4.18) 以降である必要があり、CONFIG_DEBUG_INFO_BTF 設定オプションを設定する必要があります。
Collector は、次の一覧に示されている標準の場所で BTF ファイルを検索します。
例2.1 BTF ファイルの場所
これらのファイルのいずれかが存在する場合は、カーネルに BTF サポートがあり、CORE_BPF が設定可能である可能性があります。
2.3.3.2. ディスクおよびメモリーの要件 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、コレクター Pod は 3 つのコンテナーを実行します。次の表に、各コンテナーの要求と制限、および各 Collector Pod の合計を示します。
2.3.3.2.1. Collector コンテナー リンクのコピーリンクがクリップボードにコピーされました!
| タイプ | CPU | メモリー |
|---|---|---|
| 要求 | 0.06 コア | 320 MiB |
| 制限 | 0.9 コア | 1000 MiB |
2.3.3.2.2. Compliance コンテナー リンクのコピーリンクがクリップボードにコピーされました!
| タイプ | CPU | メモリー |
|---|---|---|
| 要求 | 0.01 コア | 10 MiB |
| 制限 | 1 コア | 2000 MiB |
2.3.3.2.3. Node-inventory コンテナー リンクのコピーリンクがクリップボードにコピーされました!
| タイプ | CPU | メモリー |
|---|---|---|
| 要求 | 0.01 コア | 10 MiB |
| 制限 | 1 コア | 500 MiB |
2.3.3.2.4. Collector Pod の合計要件 リンクのコピーリンクがクリップボードにコピーされました!
| タイプ | CPU | メモリー |
|---|---|---|
| 要求 | 0.07 コア | 340 MiB |
| 制限 | 2.75 コア | 3500 MiB |
2.3.4. Scanner リンクのコピーリンクがクリップボードにコピーされました!
2.3.4.1. ディスクおよびメモリーの要件 リンクのコピーリンクがクリップボードにコピーされました!
この表の要件は、デフォルトである 3 レプリカに基づいています。
| StackRox Scanner | CPU | メモリー |
|---|---|---|
| 要求 | 3 コア | 4500 MiB |
| 制限 | 6 コア | 12 GiB |
StackRox Scanner では、データを保存するために Scanner DB (PostgreSQL 15) が必要です。次の表に、Scanner-DB のインストールと実行に必要な最小メモリーとストレージの値を示します。
| Scanner DB | CPU | メモリー |
|---|---|---|
| 要求 | 0.2 コア | 512 MiB |
| 制限 | 2 コア | 4 GiB |
2.3.5. Scanner V4 リンクのコピーリンクがクリップボードにコピーされました!
Scanner V4 は任意です。Scanner V4 がセキュアクラスターにインストールされている場合は、次の要件が適用されます。
2.3.5.1. CPU、メモリー、ストレージの要件 リンクのコピーリンクがクリップボードにコピーされました!
2.3.5.2. Scanner V4 Indexer リンクのコピーリンクがクリップボードにコピーされました!
この表の要件は、デフォルトである 2 レプリカに基づいています。
| Scanner V4 Indexer | CPU | メモリー |
|---|---|---|
| 要求 | 2 コア | 3000 MiB |
| 制限 | 4 コア | 6 GiB |
2.3.5.3. Scanner V4 DB リンクのコピーリンクがクリップボードにコピーされました!
Scanner V4 では、データを保存するには Scanner V4 DB (PostgreSQL 15) が必要です。次の表に、Scanner V4 DB をインストールして実行するために必要な CPU、メモリーとストレージの最小値を示します。Scanner V4 DB の場合、PVC は必須ではありませんが、最適なパフォーマンスを確保するため、強く推奨されます。
| Scanner V4 DB | CPU | メモリー | ストレージ |
|---|---|---|---|
| 要求 | 0.2 コア | 2 GiB | 10 GiB |
| 制限 | 2 コア | 4 GiB | 10 GiB |
2.4. 外部データベースの使用要件 リンクのコピーリンクがクリップボードにコピーされました!
独自のデータベース Pod をデプロイする代わりに、データの永続性のために外部の PostgreSQL 互換データベースを使用するように、Red Hat Advanced Cluster Security for Kubernetes Central サービスを設定できます。
外部データベースを使用する場合は、次のガイドラインに注意してください。
- データベースインフラストラクチャーは、Central DB の永続ストレージを管理します。したがって、RHACS インストール設定内で Central DB の永続設定を行わないでください。
- Red Hat は、そのデータベースに接続された RHACS Central の設定と操作をサポートします。ただし、バックアップとリストア、パフォーマンス診断と潜在的なチューニング、ソフトウェアとバージョンのアップグレード、高可用性/障害復旧操作などのデータベース固有の操作のサポートは、サードパーティーサポートの対象となります。プラットフォーム全体のアップグレード以外で、データベースを手動でアップグレードまたはカスタマイズすると、サポートが制限されます。
外部データベースを選択する場合、データベースインスタンスとそれに接続するユーザーは、次のセクションに記載されている要件を満たす必要があります。
2.4.1. データベースタイプとバージョン リンクのコピーリンクがクリップボードにコピーされました!
データベースは、PostgreSQL 13 以降をサポートする PostgreSQL 互換データベースである必要があります。
2.4.2. ユーザー権限 リンクのコピーリンクがクリップボードにコピーされました!
Central がデータベースに接続するために使用するユーザーアカウントは、データベースへの接続権限と次の権限を持つ superuser アカウントである必要があります。
-
スキーマの
UsageとCreate権限。 -
スキーマ内のすべてのテーブルに対する
Select、Insert、Update、Delete権限。 -
スキーマ内のすべてのシーケンスに対する
Usage権限。 -
superuserとしてデータベースを作成および削除する機能。
2.4.3. 接続文字列 リンクのコピーリンクがクリップボードにコピーされました!
Central は接続文字列を使用して外部データベースに接続します。接続文字列は、keyword=value の形式である必要があります。接続文字列では、ホスト、ポート、データベース名、ユーザー、SSL/TLS モードなどの詳細を指定する必要があります。たとえば、host=<host> port=5432 database=stackrox user=stackrox sslmode=verify-ca などです。
PgBouncer を介した接続はサポートされていません。
2.4.4. CA 証明書 リンクのコピーリンクがクリップボードにコピーされました!
外部データベースがプライベートまたは信頼されていない認証局 (CA) によって発行された証明書を使用する場合は、Central がデータベース証明書を信頼するように CA 証明書を指定する必要がある場合があります。Central カスタムリソース設定で TLS ブロックを使用して、これを追加できます。
第3章 Red Hat Advanced Cluster Security for Kubernetes の推奨されるリソース要件 リンクのコピーリンクがクリップボードにコピーされました!
推奨されるリソースのガイドラインは、指定された数の namespace にわたって次のオブジェクトを作成する集中的なテストを実行することによって作成されました。
- 10 のデプロイメント、スリープ状態の 3 つの Pod レプリカ、4 つのシークレット、4 つの config map のマウント
- 10 のサービス。それぞれが以前のデプロイメントの 1 つの TCP/8080 および TCP/8443 ポートを指します。
- 以前のサービスの最初を指す 1 つのルート
- 2048 個のランダムな文字列文字を含む 10 個のシークレット
- 2048 個のランダムな文字列文字を含む 10 個の config map
結果の分析中に、使用されるリソースの増加の主な要因としてデプロイメントの数が特定されます。また、必要なリソースの見積もりにはデプロイメントの数を使用しています。
3.1. Central サービス (セルフマネージド) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) を使用している場合、Central サービスは Red Hat によって管理されるため、Central サービスの要件を確認する必要はありません。確認する必要があるのは、セキュアクラスターサービスの要件のみです。
Central サービスには次のコンポーネントが含まれています。
- Central
- Central DB
- StackRox Scanner
- Scanner V4
3.1.1. Central リンクのコピーリンクがクリップボードにコピーされました!
3.1.1.1. メモリーと CPU の要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、Central を実行するために必要なメモリーと CPU の最小値を示しています。次のデータを考慮してサイズを決定してください。
- 1 つのセントラルデプロイメントに接続されているすべての保護されたクラスターの監視対象デプロイメントの合計数
- Web ポータルの同時接続ユーザー数
| デプロイメント | Web ポータルの同時接続ユーザー | CPU | メモリー |
|---|---|---|---|
| < 25,000 | 1 ユーザー | 2 コア | 8 GiB |
| < 25,000 | 5 ユーザー未満 | 2 コア | 8 GiB |
| < 50,000 | 1 ユーザー | 2 コア | 12 GiB |
| < 50,000 | 5 ユーザー未満 | 6 コア | 16 GiB |
3.1.2. Central DB リンクのコピーリンクがクリップボードにコピーされました!
3.1.2.1. メモリーと CPU の要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、Central DB を実行するために必要なメモリーと CPU の最小値を示しています。次のデータを考慮してサイズを決定してください。
- 1 つのセントラルデプロイメントに接続されているすべての保護されたクラスターの監視対象デプロイメントの合計数
- Web ポータルの同時接続ユーザー数
| デプロイメント | Web ポータルの同時接続ユーザー | CPU | メモリー |
|---|---|---|---|
| < 25,000 | 1 ユーザー | 12 コア | 32 GiB |
| < 25,000 | 5 ユーザー未満 | 24 コア | 32 GiB |
| < 50,000 | 1 ユーザー | 16 コア | 32 GiB |
| < 50,000 | 5 ユーザー未満 | 32 コア | 32 GiB |
3.1.3. StackRox Scanner リンクのコピーリンクがクリップボードにコピーされました!
次の表に、Central クラスターの StackRox Scanner デプロイメントに必要なメモリーと CPU の最小値を示します。この表には、すべてのセキュアクラスターにデプロイされた一意のイメージの数も含まれています。
| 一意のイメージの数 | Replicas | CPU | メモリー |
|---|---|---|---|
| < 100 | 1 レプリカ | 1 コア | 1.5 GiB |
| < 500 | 1 レプリカ | 2 コア | 2.5 GiB |
| < 2000 | 2 レプリカ | 2 コア | 2.5 GiB |
| < 5000 | 3 レプリカ | 2 コア | 2.5 GiB |
3.1.4. Scanner V4 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、Central クラスターでの Scanner V4 デプロイメントに必要な最小メモリーと CPU の値を示します。この表には、すべてのセキュアクラスターにデプロイされた一意のイメージの数も含まれています。
3.1.4.1. Scanner V4 Indexer リンクのコピーリンクがクリップボードにコピーされました!
| 一意のイメージの数 | Replicas | CPU | メモリー |
|---|---|---|---|
| < 100 | 1 | 2 コア | 0.5 GiB |
| < 500 | 1 | 2 コア | 0.5 GiB |
| < 2000 | 2 | 3 コア | 1 GiB |
| < 5000 | 2 | 5 コア | 1 GiB |
| < 10000 | 3 | 6 コア | 1.5 GiB |
3.1.4.2. Scanner V4 Matcher リンクのコピーリンクがクリップボードにコピーされました!
| 一意のイメージの数 | Replicas | CPU | メモリー |
|---|---|---|---|
| < 100 | 1 | 1 コア | 1.3 GiB |
| < 500 | 1 | 1 コア | 1.4 GiB |
| < 2000 | 2 | 3 コア | 1.5 GiB |
| < 5000 | 2 | 3 コア | 1.6 GiB |
| < 10000 | 3 | 3 コア | 1.7 GiB |
3.1.4.3. Scanner V4 DB リンクのコピーリンクがクリップボードにコピーされました!
| 一意のイメージの数 | Replicas | CPU | メモリー |
|---|---|---|---|
| < 100 | 1 | 1 コア | 4.5 GiB |
| < 500 | 1 | 3 コア | 5 GiB |
| < 2000 | 1 | 6 コア | 6 GiB |
| < 5000 | 1 | 6 コア | 6 GiB |
| < 10000 | 1 | 8 コア | 6 GiB |
3.2. セキュアクラスターサービス リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターサービスには、次のコンポーネントが含まれています。
- Sensor
- Admission コントローラー
Collector
注記このページには Collector コンポーネントは含まれていません。必要なリソース要件は、デフォルトのリソース要件ページにリストされています。
3.2.1. Sensor リンクのコピーリンクがクリップボードにコピーされました!
Sensor は、Kubernetes および OpenShift Container Platform クラスターをモニターします。これらのサービスは現在、単一のデプロイメントでデプロイされ、Kubernetes API とのインタラクションを処理し、Collector と連携しています。
3.2.2. メモリーと CPU の要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、セキュアクラスターで Sensor を実行するために必要なメモリーと CPU の最小値を示します。
| デプロイメント | CPU | メモリー |
|---|---|---|
| < 25,000 | 2 コア | 10 GiB |
| < 50,000 | 2 コア | 20 GiB |
3.2.3. Admission コントローラー リンクのコピーリンクがクリップボードにコピーされました!
アドミッションコントローラーは、ユーザーが設定したポリシーに違反するワークロードを作成するのを防ぎます。
3.2.4. メモリーと CPU の要件 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、セキュアクラスターでアドミッションコントローラーを実行するために必要なメモリーと CPU の最小値を示します。
| デプロイメント | CPU | メモリー |
|---|---|---|
| < 25,000 | 0.5 コア | 300 MiB |
| < 50,000 | 0.5 コア | 600 MiB |
第4章 Red Hat OpenShift への RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
4.1. Red Hat OpenShift に RHACS の Central サービスをインストールする リンクのコピーリンクがクリップボードにコピーされました!
Central は、RHACS アプリケーション管理インターフェイスとサービスを含むリソースです。データの永続性、API インタラクション、および RHACS ポータルアクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターを保護できます。
以下のいずれかの方法を使用して、OpenShift Container Platform または Kubernetes クラスターに Central をインストールできます。
- Operator を使用してインストールする
- Helm チャートを使用してインストールする
-
roxctlCLI を使用してインストールします (この方法を使用する必要がある特定のインストールが必要でない限り、この方法は使用しないでください)。
4.1.1. Operator を使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用して Central をインストールするには、まず Operator をインストールし、次にそれを使用して Central をインストールするクラスターに RHACS をインストールします。
4.1.1.1. インストール時に使用される Operator アノテーション リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、カスタムリソース (CR) にアタッチされたアノテーションを使用します。これにより、Operator を使用して実行されるインストールでは、特定の設定項目のデフォルト値が現在の環境に基づいて Operator によって実行時に決定され、項目の以前に設定された値が保持されます。
一部の設定項目では、インストール時に静的なデフォルト値を使用することは理想的ではありません。RHACS バージョン 4.8 以降、Operator はクラスターに適用する CR にアタッチされるアノテーションを追加できます。これらのアノテーションにより、新規インストールのデフォルトの動作が変更された場合でも、Operator が以前に行ったデフォルトの決定が保持され、将来的に再適用されます。つまり、RHACS はアノテーションを使用して実行時のデフォルトを永続化します。これは、特定の設定のデフォルト値が実行時に Operator によって決定されることを意味します。
たとえば、リリース 4.8 以降では、Scanner V4 を有効にするための値が指定されていない場合、デフォルトの動作では Scanner V4 が有効になります。ただし、CR に disable などの値が設定されている場合、RHACS はその値を使用します。Scanner V4 の例では、バージョン 4.7 では Scanner V4 はデフォルトで無効になっています。Operator を使用してバージョン 4.8 に更新すると、その無効な設定が維持され、Scanner V4 は無効になります。
アノテーションの形式は feature-defaults.platform.stackrox.io/<identifier> です。たとえば、feature-defaults.platform.stackrox.io/scannerV4 は、Operator が RHACS バージョン 4.8 への更新中にデフォルトの Scanner V4 有効化トグルを安定した状態に保つことを可能にするアノテーションです。
これらのアノテーションを変更したり削除したりしないでください。
4.1.1.2. Red Hat Advanced Cluster Security for Kubernetes Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform に同梱される OperatorHub を使用するのが、Red Hat Advanced Cluster Security for Kubernetes をインストールする最も簡単な方法です。
前提条件
- Operator インストール権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
- OpenShift Container Platform 4.12 以降を使用する。サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
手順
- Web コンソールで、Operators → OperatorHub ページに移動します。
- Red Hat Advanced Cluster Security for Kubernetes が表示されない場合は、Filter by keyword ボックスに Advanced Cluster Security と入力して、Red Hat Advanced Cluster Security for Kubernetes Operator を検索します。
- 詳細ページを表示するには、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- Operator に関する情報を読み、Install をクリックします。
Install Operator ページで以下を行います。
- Installation mode のデフォルト値を All namespaces on the cluster として保持します。
- Installed namespace フィールドの Operator をインストールする特定の namespace を選択します。Red Hat Advanced Cluster Security for Kubernetes Operator を rhacs-operator namespace にインストールします。
Update approval には、自動更新または手動更新を選択します。
自動更新を選択した場合、Operator の新しいバージョンが利用可能になると、Operator Lifecycle Manager (OLM) は Operator の実行中のインスタンスを自動的にアップグレードします。
手動による更新を選択する場合は、新しいバージョンの Operator が利用可能になると、OLM は更新リクエストを作成します。クラスター管理者は、更新リクエストを手動で承認して、Operator を最新バージョンに更新する必要があります。
重要手動更新を選択した場合、Central がインストールされているクラスターで RHACS Operator を更新するときに、すべてのセキュアクラスターで RHACS Operator を更新する必要があります。最適な機能を確保するには、セキュアクラスターと Central がインストールされているクラスターのバージョンが同じである必要があります。
- Install をクリックします。
検証
- インストールが完了したら、Operators → Installed Operators に移動して、Red Hat Advanced Cluster Security for Kubernetes Operator が Succeeded ステータスとともにリスト表示されていることを確認します。
Operator を rhacs-operator プロジェクトにインストールすると、インストールした Operator を使用して、Central カスタムリソース (CR) を stackrox プロジェクトにインストール、設定、デプロイできます。
4.1.1.2.1. インフラストラクチャーノードの RHACS Operator の設定 リンクのコピーリンクがクリップボードにコピーされました!
インフラストラクチャーノードに Red Hat Advanced Cluster Security for Kubernetes (RHACS) Operator をデプロイするには、nodeSelector と tolerations を含むようにサブスクリプション YAML を変更し、Pod が正しくスケジュールされるようにします。
手順
Operator Lifecycle Manager (OLM) サブスクリプションを適用する前に、インフラストラクチャーノードに必要な
nodeSelectorとtolerationsを RHACS Operator に設定します。その場合、次のような内容を使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
nodeSelectorキーと値は、Kubernetes スケジューラーに対して、node-role.kubernetes.io/infra: ""のラベルを持つノードに Operator Pod を配置するように指示します。- 2
tolerationsエントリーにより、node-role.kubernetes.io/infraキーがある taint が付いたノード上で Operator Pod をスケジュールできるようになります。これは、通常はインフラストラクチャー以外のワークロードがインフラストラクチャーノードにスケジュールされることを防ぐための taint が指定されているため、必要です。
-
YAML ファイルを保存し、OpenShift CLI (
oc) を使用して適用します。
YAML ファイルを適用すると、RHACS Operator のサブスクリプションが更新されます。これにより、RHACS Operator Pod をスケジュールできる場所が設定されます。rhacs-operator namespace は、RHACS Operator の指定場所です。
4.1.1.3. Operator メソッドを使用した Central のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。Central カスタムリソースを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じ Central インストールを使用して複数の個別のクラスターをモニターできます。
-
Red Hat Advanced Cluster Security for Kubernetes を初めてインストールする場合、
SecuredClusterカスタムリソースのインストールは Central が生成する証明書に依存するため、最初にCentralカスタムリソースをインストールする必要があります。 -
Red Hat では、Red Hat Advanced Cluster Security for Kubernetes
Centralカスタムリソースを専用プロジェクトにインストールすることを推奨しています。Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトにはインストールしないでください。さらに、kube、openshift、redhatで始まる名前のプロジェクトやistio-systemプロジェクトにはインストールしないでください。
前提条件
- OpenShift Container Platform 4.12 以降を使用する。サポートされるプラットフォームおよびアーキテクチャーの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。RHACS のライフサイクルのサポート情報は、Red Hat Advanced Cluster Security for Kubernetes サポートポリシー を参照してください。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを
rhacs-operatorとしてリストします。Project: rhacs-operator を選択し → Create project を選択します。注記-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
rhacs-operatorの代わりにその namespace の名前を表示します。
-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
-
新しいプロジェクト名 (たとえば、
stackrox) を入力し、Create をクリックします。Red Hat は、プロジェクト名としてstackroxを使用することを推奨します。 - Provided APIs セクションで、Central を選択します。Create Central をクリックします。
オプション: 宣言型設定を使用している場合は、次の方法で Configure via: の横にある YAML view をクリックし、次の例に示すように宣言型設定の情報を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Centralカスタムリソースの名前を入力し、適用するラベルを追加します。それ以外の場合は、使用可能なオプションのデフォルト値を受け入れます。 Central で使用可能なオプションを設定できます。
Central コンポーネントの設定:
Expand 設定 説明 Administrator password
管理者パスワードを含むシークレット。RHACS にパスワードを生成させない場合は、このフィールドを使用します。
Exposure
ルート、ロードバランサー、またはノードポートを使用して Central を公開するための設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.exposure.<parameter>の情報を参照してください。User-facing TLS certificate secret
Central で TLS を終端し、カスタムサーバー証明書を提供する場合は、このフィールドを使用します。
Monitoring
Central のモニタリングエンドポイントを設定します。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.exposeMonitoringパラメーターを参照してください。Central DB Settings
データの永続性を含む、Central DB の設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.db.<parameter>の情報を参照してください。Resources
メモリーと CPU リソースのデフォルト設定をオーバーライドする必要がある場合は、ドキュメントを参照した後で、これらのフィールドを使用してください。詳細は、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションを参照してください。
Tolerations
このパラメーターは、Central を特定のノードでのみ実行するように設定するために使用します。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで
central.tolerationsパラメーターを参照してください。Host Aliases
このパラメーターを使用して、Pod のホストファイルで解決する追加のホスト名を設定します。
- スキャナーコンポーネント設定: StackRox Scanner の設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで「Scanner」の表を参照してください。
Scanner V4 コンポーネント設定: デフォルトのスキャナーである Scanner V4 スキャナーの設定。「Red Hat OpenShift に RHACS の Central サービスをインストールする」の「パブリック設定ファイル」セクションで「Scanner V4」の表を参照してください。
Scanner V4 では次のオプションを設定できます。
Expand 設定 説明 Indexer
イメージのインデックスを作成し、スキャン結果のレポートを作成するプロセス。レプリカと自動スケーリング、リソース、toleration を設定できます。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
Matcher
Indexer からのレポートと、Scanner V4 DB に保存されている脆弱性データとの脆弱性照合を実行するプロセス。レプリカと自動スケーリング、リソース、toleration を設定できます。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
DB
脆弱性データやインデックスレポートなど、Scanner V4 の情報を保存するデータベース。永続性、リソース、toleration を設定できます。Scanner V4 を使用している場合は、Central クラスターに永続ボリューム要求 (PVC) が必要です。最良の結果を得るには、セキュアクラスターで PVC を使用することを強く推奨します。デフォルトのリソース値を変更する前に、「インストール」の章の「RHACS のデフォルトのリソース要件」および「RHACS の推奨されるリソース要件」セクションにある「Scanner V4」セクションを参照してください。
- Egress: RHACS をオンライン (接続) モードで実行するかオフライン (非接続) モードで実行するかなど、送信ネットワークトラフィックの設定。
- TLS: このフィールドは、信頼できるルート認証局 (CA) を追加するために使用します。
network: ネットワークレベルでセキュリティーを確保するために、RHACS は Central がインストールされている namespace にデフォルトの
NetworkPolicyリソースを作成します。独自のネットワークポリシーを作成および管理するには、policies セクションで Disabled を選択します。デフォルトでは、このオプションが Enabled になっています。警告デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。
Advanced configuration: このフィールドを使用すると、次の操作を実行できます。
- 追加のイメージプルシークレットを指定する
- マネージド Pod のコンテナーに設定するカスタム環境変数を追加する
- Red Hat OpenShift のモニタリングを有効にする
- Create をクリックします。
クラスター全体のプロキシーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes は、そのプロキシー設定を使用して外部サービスに接続します。
次のステップ
- Central インストールを確認します。
- オプション: Central オプションを設定します。
-
CentralリソースとSecuredClusterリソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.1.4. PostgreSQL インスタンスでのデータベースのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
この手順は任意です。既存の PostgreSQL インフラストラクチャーを使用して、RHACS 用のデータベースをプロビジョニングできます。このセクションの手順を使用して、PostgreSQL データベース環境を設定し、ユーザー、データベース、スキーマ、ロールを作成し、必要な権限を付与します。
手順
新しいユーザーを作成します。
CREATE USER stackrox WITH PASSWORD <password>;
CREATE USER stackrox WITH PASSWORD <password>;Copy to Clipboard Copied! Toggle word wrap Toggle overflow データベースを作成します。
CREATE DATABASE stackrox;
CREATE DATABASE stackrox;Copy to Clipboard Copied! Toggle word wrap Toggle overflow データベースに接続します。
\connect stackrox
\connect stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザースキーマを作成します。
CREATE SCHEMA stackrox;
CREATE SCHEMA stackrox;Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) パブリックでの権限を取り消します。
REVOKE CREATE ON SCHEMA public FROM PUBLIC; REVOKE USAGE ON SCHEMA public FROM PUBLIC; REVOKE ALL ON DATABASE stackrox FROM PUBLIC;
REVOKE CREATE ON SCHEMA public FROM PUBLIC; REVOKE USAGE ON SCHEMA public FROM PUBLIC; REVOKE ALL ON DATABASE stackrox FROM PUBLIC;Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールを作成します。
CREATE ROLE readwrite;
CREATE ROLE readwrite;Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールへの接続権限を付与します。
GRANT CONNECT ON DATABASE stackrox TO readwrite;
GRANT CONNECT ON DATABASE stackrox TO readwrite;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要な権限を
readwriteロールに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow readwriteロールをstackroxユーザーに割り当てます。GRANT readwrite TO stackrox;
GRANT readwrite TO stackrox;Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.1.5. Operator 方式と外部データベースを使用した Central のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes の主要コンポーネントは Central と呼ばれます。Central カスタムリソースを使用して、OpenShift Container Platform に Central をインストールできます。Central は 1 回だけデプロイし、同じ Central インストールを使用して複数の個別のクラスターをモニターできます。
Red Hat Advanced Cluster Security for Kubernetes を初めてインストールする場合、SecuredCluster カスタムリソースのインストールは Central が生成する証明書に依存するため、最初に Central カスタムリソースをインストールする必要があります。
RHACS データベースの詳細は、データベースの対象範囲 を参照してください。
前提条件
OpenShift Container Platform 4.12 以降を使用する。サポートされている OpenShift Container Platform バージョンの詳細は、Red Hat Advanced Cluster Security for Kubernetes Support Matrix を参照してください。
注記推奨かつサポートされているバージョンは Postgres 15 です。Red Hat では Postgres 13 のサポートが非推奨となり、RHACS の新しいバージョンで削除される予定です。
- 詳細な要件については、関連情報セクションの「外部データベースの使用要件」を参照してください。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを
rhacs-operatorとしてリストします。Project: rhacs-operator を選択し → Create project を選択します。警告-
別の namespace に Operator をインストールした場合、OpenShift Container Platform は
rhacs-operatorではなくその namespace の名前を表示します。 -
Red Hat では、Red Hat Advanced Cluster Security for Kubernetes
Centralカスタムリソースを専用プロジェクトにインストールすることを推奨しています。Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトにはインストールしないでください。さらに、kube、openshift、redhatで始まる名前のプロジェクトやistio-systemプロジェクトにはインストールしないでください。
-
別の namespace に Operator をインストールした場合、OpenShift Container Platform は
-
新しいプロジェクト名 (たとえば、
stackrox) を入力し、Create をクリックします。Red Hat は、プロジェクト名としてstackroxを使用することを推奨します。 OpenShift Container Platform Web コンソールまたはターミナルを使用して、デプロイされた namespace にパスワードシークレットを作成します。
-
OpenShift Container Platform Web コンソールで、Workloads → Secrets ページに移動します。キー
password、およびプロビジョニングされたデータベースのスーパーユーザーのパスワードを含むプレーンテキストファイルのパスとしての値を使用して、キー/値のシークレット を作成します。 または、ターミナルで次のコマンドを実行します。
oc create secret generic external-db-password \ --from-file=password=<password.txt>
$ oc create secret generic external-db-password \1 --from-file=password=<password.txt>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OpenShift Container Platform Web コンソールで、Workloads → Secrets ページに移動します。キー
- OpenShift Container Platform Web コンソールの Red Hat Advanced Cluster Security for Kubernetes Operator ページに戻ります。Provided APIs セクションで、Central を選択します。Create Central をクリックします。
- オプション: 宣言型設定を使用している場合は、Configure via: の横にある YAML view をクリックします。
次の例に示すように、宣言型設定の情報を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Centralカスタムリソースの名前を入力し、適用するラベルを追加します。 - Central Component Settings → Central DB Settings に移動します。
-
Administrator Password には、参照されるシークレットを
external-db-password(または以前に作成したパスワードのシークレット名) として指定します。 -
Connection String には、
keyword=value形式で接続文字列を指定します。たとえば、host=<host> port=5432 database=stackrox user=stackrox sslmode=verify-caです。 -
Persistence → PersistentVolumeClaim → Claim Name の場合は、
central-dbを削除します。 必要に応じて、データベース証明書と Central の間に信頼関係が確立されるように、認証局を指定できます。これを追加するには、次の例に示すように、YAML ビューに移動し、最上位仕様の下に TLS ブロックを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create をクリックします。
クラスター全体のプロキシーを使用している場合、Red Hat Advanced Cluster Security for Kubernetes は、そのプロキシー設定を使用して外部サービスに接続します。
次のステップ
- Central インストールを確認します。
- オプション: Central オプションを設定します。
-
CentralリソースとSecuredClusterリソース間の通信を可能にするクラスターシークレットを含む init バンドルを生成します。このバンドルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.1.6. Operator 方式を使用した Central インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
Central のインストールが完了したら、RHACS ポータルにログインして、Central が正常にインストールされたことを確認します。
手順
- OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- インストールされている Operator のリストから、Red Hat Advanced Cluster Security for Kubernetes Operator を選択します。
- Central タブを選択します。
-
Centrals リストから、
stackrox-central-servicesを選択して詳細を表示します。 adminユーザーのパスワードを取得するには、以下のいずれかを行います。- Admin Password Secret Reference のリンクをクリックします。
Red Hat OpenShift CLI を使用して、Admin Credentials Info にリストされているコマンドを入力します。
oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'$ oc -n stackrox get secret central-htpasswd -o go-template='{{index .data "password" | base64decode}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift CLI コマンドを使用して、RHACS ポータルへのリンクを見つけます。
oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"$ oc -n stackrox get route central -o jsonpath="{.status.ingress[0].host}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、Red Hat Advanced Cluster Security for Kubernetes Web コンソールを使用して、次のコマンドを実行することにより、RHACS ポータルへのリンクを見つけることができます。
- Networking → Routes をクリックします。
- central ルートを見つけて、Location 列の下にある RHACS ポータルリンクをクリックします。
-
ユーザー名 admin と、前の手順で取得したパスワードを使用して、RHACS ポータルにログインします。RHACS の設定が完了するまで (たとえば、
Centralリソースと少なくとも 1 つのSecuredClusterリソースをインストールして設定する)、ダッシュボードでデータを使用できません。SecuredClusterリソースは、Centralリソースと同じクラスターにインストールおよび設定できます。SecuredClusterリソースを備えたクラスターは、Red Hat Advanced Cluster Management (RHACM) のマネージドクラスターに似ています。
次のステップ
- オプション: central 設定を設定します。
-
CentralリソースとSecuredClusterリソース間の通信を可能にするクラスターシークレットを含む init バンドルまたは CRS を生成します。このファイルをダウンロードし、それを使用して保護対象のクラスターにリソースを生成し、バンドルをセキュアに保管する必要があります。 - 監視する各クラスターにセキュアクラスターサービスをインストールします。
4.1.2. Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
カスタマイズせずに Helm チャートを使用するか、デフォルト値を使用するか、設定パラメーターをさらにカスタマイズして Helm チャートを使用することにより、Central をインストールできます。
4.1.2.1. カスタマイズせずに Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、カスタマイズせずにクラスターにインストールできます。集中型コンポーネントである Central と Scanner をインストールするために、Helm チャートリポジトリーを追加し、central-services Helm チャートをインストールする必要があります。
4.1.2.1.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、次のようなさまざまなコンポーネントをインストールするための Helm チャートが含まれています。
集中型コンポーネント (Central および Scanner) をインストールするための Central サービス Helm チャート (
central-services)。注記集中型コンポーネントは 1 回だけデプロイします。同じインストールを使用して複数の別のクラスターを監視できます。
クラスターおよびノードごとのコンポーネント (Sensor、Admission Controller、Collector、および Scanner-slim) をインストールするためのセキュアクラスターサービスの Helm チャート (
secured-cluster-services)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.2.1.2. カスタマイズせずに central-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、central-services Helm チャートをインストールし、集中型コンポーネント (Central および Scanner) をデプロイします。
前提条件
-
Red Hat コンテナーレジストリーにアクセスできる必要があります。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
手順
次のコマンドを実行して Central services をインストールし、ルートを使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password> \ --set central.exposure.route.enabled=true
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.route.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、次のコマンドを実行して Central services をインストールし、ロードバランサーを使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password> \ --set central.exposure.loadBalancer.enabled=true
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.loadBalancer.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、次のコマンドを実行して Central services をインストールし、port forward を使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password>
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、
proxyConfigパラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
インストール先の namespace に 1 つ以上のイメージプルシークレットをすでに作成している場合は、ユーザー名とパスワードを使用する代わりに、
--set imagePullSecrets.useExisting="<pull-secret-1;pull-secret-2>"を使用できます。 イメージプルシークレットは使用しないでください。
-
quay.io/stackrox-ioまたは認証を必要としないプライベートネットワークのレジストリーからイメージを取得する場合。ユーザー名とパスワードを指定する代わりに、--set imagePullSecrets.allowNone=trueを使用します。 -
インストールする namespace のデフォルトサービスアカウントでイメージプルシークレットをすでに設定している場合。ユーザー名とパスワードを指定する代わりに、
--set imagePullSecrets.useFromDefaultServiceAccount=trueを使用します。
-
インストールコマンドの出力は次のとおりです。
- 自動的に生成された管理者パスワード。
- すべての設定値を保存するための手順。
- Helm が生成する警告。
4.1.2.1.3. 自動生成された認証局の取得 リンクのコピーリンクがクリップボードにコピーされました!
RHACS をインストールすると、認証局 (CA) が自動的に生成され、クラスターの Kubernetes シークレットに保存されます。後で Helm を使用してインストールを変更する場合は、この CA を提供する必要がある場合があります。たとえば、インストール時に最初に無効にされた RHACS コンポーネントを有効にするには、この CA を提供する必要があります。
自動的に生成された CA は、通常、stackrox-generated-suffix のような名前が付けられたシークレットに保存されます。ここで、suffix はランダムに生成された文字列になります。
たとえば、helm upgrade コマンドに必要なときに CA を取得して generated-values.yaml ファイルにエクスポートするには、次のコマンドを実行します。
kubectl -n <namespace> get secret stackrox-generated-<suffix> \
-o go-template='{{ index .data "generated-values.yaml" }}' | \
base64 --decode >generated-values.yaml
$ kubectl -n <namespace> get secret stackrox-generated-<suffix> \
-o go-template='{{ index .data "generated-values.yaml" }}' | \
base64 --decode >generated-values.yaml
このファイルには機密データが含まれている可能性があるため、安全な場所に保管してください。
設定を変更した後に helm upgrade コマンドを使用する場合は、この CA を提供する必要がある場合があります。たとえば、システムを更新して Scanner V4 を有効にするには、次のコマンドを実行します。
helm upgrade -n stackrox stackrox-central-services rhacs/central-services --reuse-values \ -f <path_to_generated-values.yaml> \ --set scannerV4.disable=false
$ helm upgrade -n stackrox stackrox-central-services rhacs/central-services --reuse-values \
-f <path_to_generated-values.yaml> \
--set scannerV4.disable=false
4.1.2.2. カスタマイズした Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
helm install および helm upgrade コマンドで Helm チャートの設定パラメーターを使用することで、Red Hat OpenShift クラスターに RHACS をカスタマイズしてインストールできます。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。 -
設定ファイル
declarative-config-values.yaml: 宣言設定を使用して宣言設定マウントを Central に追加する場合は、このファイルを作成します。
4.1.2.2.1. プライベート設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、values-private.yaml ファイルの設定可能なパラメーターをリストします。これらのパラメーターのデフォルト値はありません。
4.1.2.2.1.1. イメージプルのシークレット リンクのコピーリンクがクリップボードにコピーされました!
レジストリーからイメージをプルするために必要な認証情報は、以下の要素によって異なります。
カスタムレジストリーを使用している場合、以下のパラメーターを指定する必要があります。
-
imagePullSecrets.username -
imagePullSecrets.password -
image.registry
-
カスタムレジストリーへのログインにユーザー名とパスワードを使用しない場合は、以下のいずれかのパラメーターを指定する必要があります。
-
imagePullSecrets.allowNone -
imagePullSecrets.useExisting -
imagePullSecrets.useFromDefaultServiceAccount
-
| パラメーター | 説明 |
|---|---|
|
| レジストリーへのログインに使用されるアカウントのユーザー名。 |
|
| レジストリーへのログインに使用されるアカウントのパスワード |
|
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
4.1.2.2.1.2. プロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、proxyConfig パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
| パラメーター | 説明 |
|---|---|
|
| プロキシー設定。 |
4.1.2.2.1.3. Central リンクのコピーリンクがクリップボードにコピーされました!
Central の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップできます。
-
central.jwtSigner.key -
central.serviceTLS.cert -
central.serviceTLS.key -
central.adminPassword.value -
central.adminPassword.htpasswd -
central.db.serviceTLS.cert -
central.db.serviceTLS.key -
central.db.password.value - これらのパラメーターの値を指定しない場合、Helm チャートはそれらの値を自動生成します。
-
これらの値を変更する場合は、
helm upgradeコマンドを使用し、--setオプションを使用して値を指定できます。
管理者パスワードの設定には、central.adminPassword.value または central.adminPassword.htpasswd のいずれかのみを使用できますが、両方を使用することはできません。
| パラメーター | 説明 |
|---|---|
|
| RHACS が認証用の JSON Web トークン (JWT) に署名するために使用する秘密鍵。 |
|
| Central サービスが Central をデプロイするために使用する必要がある内部証明書。 |
|
| Central サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Central が使用する必要のあるユーザー向けの証明書。RHACS は、RHACS ポータルにこの証明書を使用します。
|
|
| Central が使用する必要のあるユーザー向け証明書の秘密鍵。
|
|
| Central データベースの接続パスワード。 |
|
| RHACS にログインするための管理者パスワード。 |
|
| RHACS にログインするための管理者パスワード。このパスワードは、bcrypt を使用してハッシュ形式で保存されます。 |
|
| Central DB サービスが Central DB をデプロイするために使用する内部証明書。 |
|
| Central DB サービスが使用する内部証明書の秘密キー。 |
|
| Central DB への接続に使用されるパスワード。 |
central.adminPassword.htpasswd パラメーターを使用している場合は、bcrypt でエンコードされたパスワードハッシュを使用する必要があります。コマンド htpasswd -nB admin を実行して、パスワードハッシュを生成できます。以下に例を示します。
htpasswd: | admin:<bcrypt-hash>
htpasswd: |
admin:<bcrypt-hash>
4.1.2.2.1.4. Scanner リンクのコピーリンクがクリップボードにコピーされました!
StackRox Scanner および Scanner V4 の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップでき、Helm チャートがそれらの値を自動生成します。それ以外の場合、新しいバージョンにアップグレードする場合は、以下のパラメーターの値を指定してください。
-
scanner.dbPassword.value -
scanner.serviceTLS.cert -
scanner.serviceTLS.key -
scanner.dbServiceTLS.cert -
scanner.dbServiceTLS.key -
scannerV4.db.password.value -
scannerV4.indexer.serviceTLS.cert -
scannerV4.indexer.serviceTLS.key -
scannerV4.matcher.serviceTLS.cert -
scannerV4.matcher.serviceTLS.key -
scannerV4.db.serviceTLS.cert -
scannerV4.db.serviceTLS.key
| パラメーター | 説明 |
|---|---|
|
| Scanner データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
|
| StackRox Scanner サービスが StackRox Scanner をデプロイするために使用する内部証明書。 |
|
| Scanner サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Scanner-db サービスが Scanner データベースをデプロイするために使用する必要がある内部証明書。 |
|
| Scanner-db サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Scanner V4 データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
|
| Scanner V4 DB サービスが Scanner V4 データベースをデプロイするために使用する内部証明書。 |
|
| Scanner V4 DB サービスが使用する内部証明書の秘密鍵。 |
|
| Scanner V4 Indexer をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
|
| Scanner V4 Indexer が使用する内部証明書の秘密鍵。 |
|
| Scanner V4 Matcher をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
|
| Scanner V4 Matcher が使用する内部証明書の秘密鍵。 |
4.1.2.2.2. パブリック設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、values-public.yaml ファイルの設定可能なパラメーターをリストします。
4.1.2.2.2.1. イメージプルのシークレット リンクのコピーリンクがクリップボードにコピーされました!
イメージプルシークレットは、レジストリーからイメージをプルするために必要なクレデンシャルです。
| パラメーター | 説明 |
|---|---|
|
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
4.1.2.2.2.2. イメージ リンクのコピーリンクがクリップボードにコピーされました!
イメージでは、メインレジストリーをセットアップするための設定を宣言します。Helm チャートはこの設定を使用して、central.image、scanner.image、scanner.dbImage、scannerV4.image、および scannerV4.db.image パラメーターのイメージを解決します。
| パラメーター | 説明 |
|---|---|
|
|
イメージレジストリーのアドレス。 |
4.1.2.2.2.3. Policy as code 機能 リンクのコピーリンクがクリップボードにコピーされました!
Policy as code 機能を使用すると、RHACS を Argo CD などの継続的デリバリーツールと連携させて、ローカルで作成したポリシーや RHACS ポータルからエクスポートして変更したポリシーを追跡、管理、適用するように設定できます。RHACS がインストールされているのと同じ namespace に、Policy as code 機能を適用するように Argo CD またはその他のツールを設定します。
| パラメーター | 説明 |
|---|---|
|
|
デフォルトでは、値は |
4.1.2.2.2.4. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes は、クラスター環境を自動的に検出し、env.openshift、env.istio、および env.platform の値を設定します。クラスター環境の自動検出をオーバーライドするには、これらの値のみを設定してください。
| パラメーター | 説明 |
|---|---|
|
|
OpenShift Container Platform クラスターにインストールし、クラスター環境の自動検出をオーバーライドする場合は、 |
|
|
|
|
|
RHACS をインストールするプラットフォーム。その値を |
|
|
RHACS をオフラインモードで使用するには |
4.1.2.2.2.5. 追加の信頼された認証局 リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、信頼するシステムルート証明書を自動的に参照します。Central、StackRox Scanner、または Scanner V4 が、組織内の機関またはグローバルに信頼されているパートナー組織によって発行された証明書を使用するサービスにアクセスする必要がある場合、次のパラメーターを使用して信頼するルート認証局を指定することにより、これらのサービスの信頼を追加できます。
| パラメーター | 説明 |
|---|---|
|
| 信頼するルート認証局の PEM エンコード証明書を指定します。 |
4.1.2.2.2.6. デフォルトのネットワークポリシー リンクのコピーリンクがクリップボードにコピーされました!
ネットワークレベルでセキュリティーを確保するために、RHACS は Central がインストールされている namespace にデフォルトの NetworkPolicy リソースを作成します。これらのネットワークポリシーは、特定のポート上の特定のコンポーネントへの Ingress を許可します。RHACS でこれらのポリシーを作成しない場合は、このパラメーターを Disabled に設定します。デフォルト値は Enabled です。
デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。
| パラメーター | 説明 |
|---|---|
|
|
RHACS がコンポーネント間の通信を許可するためにデフォルトのネットワークポリシーを作成するかどうかを指定します。独自のネットワークポリシーを作成するには、このパラメーターを |
4.1.2.2.2.7. Central リンクのコピーリンクがクリップボードにコピーされました!
Central の設定可能なパラメーター。
-
外部アクセス用の Central のデプロイメントを公開するため。1 つのパラメーター、
central.exposure.loadBalancer、central.exposure.nodePort、またはcentral.exposure.routeのいずれかを指定する必要があります。これらのパラメーターに値を指定しない場合は、手動で Central を公開するか、ポート転送を使用して Central にアクセスする必要があります。
次の表に、外部 PostgreSQL データベースの設定を記載します。
| パラメーター | 説明 |
|---|---|
|
| 宣言的設定に使用される config map をマウントします。 |
|
| 宣言型設定に使用されるシークレットをマウントします。 |
|
| Central のエンドポイント設定オプションです。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
ポート番号 |
|
|
Central イメージのグローバル |
|
|
デフォルトの Central イメージ名 ( |
|
|
Central イメージのデフォルトタグをオーバーライドするカスタムイメージタグです。新規インストール時に独自のイメージタグを指定した場合は、 |
|
|
Central イメージのレジストリーアドレス、イメージ名、およびイメージタグを含む完全なリファレンスです。このパラメーターの値を設定すると、 |
|
| Central のメモリー要求。 |
|
| Central の CPU 要求。 |
|
| Central のメモリー制限。 |
|
| Central の CPU 制限。 |
|
|
ロードバランサーを使用して Central を公開するには、 |
|
| Central を公開するポート番号です。デフォルトのポート番号は 443 です。 |
|
|
|
|
| Central を公開するポート番号です。このパラメーターをスキップすると、OpenShift Container Platform は自動的にポート番号を割り当てます。Red Hat では、ノードポートを使用して RHACS を公開する場合、ポート番号を指定しないことを推奨しています。 |
|
|
ルートを使用して Central を公開するには、 |
|
| このパラメーターを使用して、Central のパススルールートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
|
Red Hat OpenShift の再暗号化ルートを通じて Central を公開するには、これを |
|
| このパラメーターを使用して、Central の再暗号化ルートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、完全な信頼チェーンを確立するために使用される可能性のある PEM エンコードされた証明書チェーンを指定します。デフォルトでは、OpenShift Container Platform が認証局を提供します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、ルートで提供される PEM エンコードされた証明書を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、最終宛先 (つまり Central) の CA 証明書を指定します。OpenShift Container Platform ルーターは、この証明書を使用して、セキュアな接続のヘルスチェックを実行します。デフォルトでは、Central が認証局を提供します。 |
|
| このパラメーターを使用して、ルートで提供される証明書の PEM エンコードされた秘密鍵を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
|
Central DB をデプロイせず、外部データベースを使用することを指定するには、 |
|
|
Central がデータベースへの接続に使用する接続文字列。これは、
|
|
| 確立されるデータベースへの接続の最小数。 |
|
| 確立されるデータベースへの接続の最大数。 |
|
| 単一のクエリーまたはトランザクションがデータベースに対してアクティブにできるミリ秒数。 |
|
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される postgresql.conf。 |
|
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される pg_hba.conf。 |
|
|
ノードセレクターのラベルを |
|
|
Central DB イメージのグローバル |
|
|
デフォルトの Central DB イメージ名 ( |
|
|
Central DB イメージのデフォルトのタグをオーバーライドするカスタムイメージタグ。新規インストール時に独自のイメージタグを指定した場合は、 |
|
|
Central DB イメージのレジストリーアドレス、イメージ名、イメージタグを含む完全なリファレンス。このパラメーターの値を設定すると、 |
|
| Central DB のメモリー要求。 |
|
| Central DB の CPU 要求。 |
|
| Central DB のメモリー制限。 |
|
| Central DB の CPU 制限。 |
|
| RHACS がデータベースボリュームを作成するノード上のパス。Red Hat はこのオプションの使用を推奨していません。 |
|
| 使用している永続ボリューム要求 (PVC) の名前です。 |
|
|
|
|
| 指定された要求によるマネージドの永続ボリュームのサイズ (GiB 単位) です。 |
4.1.2.2.2.8. StackRox Scanner リンクのコピーリンクがクリップボードにコピーされました!
次の表に、StackRox Scanner の設定可能なパラメーターを示します。StackRox Scanner は非推奨となりました。
| パラメーター | 説明 |
|---|---|
|
|
StackRox Scanner なしで RHACS をインストールするには、 |
|
|
ポート番号 |
|
|
StackRox Scanner デプロイメント用に作成するレプリカの数。 |
|
|
StackRox Scanner のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
StackRox Scanner デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| StackRox Scanner のメモリー要求。 |
|
| StackRox Scanner の CPU 要求。 |
|
| StackRox Scanner のメモリー制限。 |
|
| StackRox Scanner の CPU 制限。 |
|
| StackRox Scanner データベースデプロイメントのメモリー要求。 |
|
| StackRox Scanner データベースデプロイメントの CPU 要求。 |
|
| StackRox Scanner データベースデプロイメントのメモリー制限。 |
|
| StackRox Scanner データベースデプロイメントの CPU 制限。 |
|
| StackRox Scanner イメージのカスタムレジストリー。 |
|
|
デフォルトの StackRox Scanner イメージ名 ( |
|
| StackRox Scanner DB イメージのカスタムレジストリー。 |
|
|
デフォルトの StackRox Scanner DB イメージ名 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
4.1.2.2.2.9. Scanner V4 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、Scanner V4 の設定可能なパラメーターを示します。
| パラメーター | 説明 |
|---|---|
|
|
Scanner V4 の永続データを管理する PVC の名前。Central の場合、デフォルトでシステムは PVC を作成し、名前にデフォルト値 |
|
| Scanner V4 の永続データを管理するための PVC のサイズ。 |
|
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
|
| 次の値が有効です。
値が指定されていない場合は、デフォルトで次の動作が発生します。
|
|
|
Scanner V4 の Prometheus メトリクスエンドポイントをポート番号 |
|
|
Scanner V4 Indexer デプロイメント用に作成するレプリカの数。 |
|
|
Scanner V4 Indexer のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
Scanner V4 Indexer デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| Scanner V4 Indexer のメモリー要求。 |
|
| Scanner V4 Indexer の CPU 要求。 |
|
| Scanner V4 Indexer のメモリー制限。 |
|
| Scanner V4 Indexer の CPU 制限。 |
|
|
Scanner V4 Matcher デプロイメント用に作成するレプリカの数。 |
|
|
Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Matcher のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
Scanner V4 Matcher デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| Scanner V4 Matcher のメモリー要求。 |
|
| Scanner V4 Matcher の CPU 要求。 |
|
| Scanner V4 データベースデプロイメントのメモリー要求。 |
|
| Scanner V4 データベースデプロイメントの CPU 要求。 |
|
| Scanner V4 データベースデプロイメントのメモリー制限。 |
|
| Scanner V4 データベースデプロイメントの CPU 制限。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| Scanner V4 DB イメージのカスタムレジストリー。 |
|
|
デフォルトの Scanner V4 DB イメージ名 ( |
|
| Scanner V4 イメージのカスタムレジストリー。 |
|
|
デフォルトの Scanner V4 イメージ名 ( |
4.1.2.2.2.10. カスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
以下のパラメーターを使用して、RHACS が作成するすべてのオブジェクトの追加属性を指定します。
| パラメーター | 説明 |
|---|---|
|
| すべてのオブジェクトにアタッチするカスタムラベルです。 |
|
| すべてのオブジェクトにアタッチするカスタムアノテーションです。 |
|
| すべてのデプロイメントにアタッチするカスタムラベルです。 |
|
| すべてのデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべてのオブジェクトのすべてのコンテナーのカスタム環境変数。 |
|
| Central が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Central が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Central のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Central のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Central コンテナーのカスタム環境変数。 |
|
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Scanner のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Scanner のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Scanner コンテナーのカスタム環境変数。 |
|
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Scanner DB のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Scanner DB のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Scanner DB コンテナーのカスタム環境変数。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 Indexer コンテナーとそれらに属する Pod のカスタム環境変数。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 Matcher コンテナーとそれらに属する Pod のカスタム環境変数。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 DB コンテナーとそれらに属する Pod のカスタム環境変数。 |
以下のように使用することもできます。
-
すべてのオブジェクトのラベルとアノテーションを指定するための
customize.other.service/*.labelsおよびcustomize.other.service/*.annotationsパラメーターです。 -
または、特定のサービス名を指定します。たとえば、
customize.other.service/central-loadbalancer.labelsとcustomize.other.service/central-loadbalancer.annotationsをパラメーターとして指定し、それらの値を設定します。
4.1.2.2.2.11. 高度なカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
このセクションで指定されているパラメーターは、情報提供のみを目的としています。Red Hat は、namespace やリリース名が変更された RHACS インスタンスをサポートしません。
| パラメーター | 説明 |
|---|---|
|
|
RHACS をデフォルトの |
|
|
デフォルトの |
4.1.2.2.3. 宣言的な設定値 リンクのコピーリンクがクリップボードにコピーされました!
宣言型設定を使用するには、宣言型設定マウントを Central に追加する YAML ファイル (この例では "declarative-config-values.yaml" という名前) を作成する必要があります。このファイルは Helm インストールで使用されます。
手順
次の例をガイドラインとして使用して、YAML ファイル (この例では
declarative-config-values.yamlという名前) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
「central-services Helm チャートのインストール」の説明に従って、
declarative-config-values.yamlファイルを参照して、Central サービス Helm チャートをインストールします。
4.1.2.2.4. central-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml ファイルと values-private.yaml ファイルを設定した後、central-services Helm チャートをインストールして、集中型コンポーネント (Central と Scanner) をデプロイします。
手順
以下のコマンドを実行します。
helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>
$ helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
-fオプションを使用して、YAML 設定ファイルのパスを指定します。
オプション: 宣言型設定を使用する場合は、このコマンドに -f <path_to_declarative-config-values.yaml を追加して、宣言型設定ファイルを Central にマウントします。
4.1.2.3. central-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
central-services Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 新しいコンポーネントを有効にするなどの一部の変更では、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgradeコマンドで指定する必要があります。central-servicesHelm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
CA が Helm チャートの外部で生成されたものであり、
central-servicesチャートのインストール時にその CA を指定した場合は、helm upgradeコマンドを使用するときに、たとえばhelm upgradeコマンドで--reuse-valuesフラグを使用して、その操作を再度実行する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない値を変更した場合は、--reuse-valuesパラメーターを含めます。
4.1.3. roxctl CLI を使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、Red Hat は Operator または Helm チャートを使用して RHACS をインストールすることを推奨しています。この方法を使用する必要がある特定のインストールがない限り、roxctl のインストール手法を使用しないでください。
4.1.3.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes をインストールするには、バイナリーをダウンロードして roxctl CLI をインストールする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
4.1.3.1.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
Linux 用の roxctl CLI は、amd64、arm64、ppc64le、s390x アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3.1.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl CLI は、amd64 および arm64 アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3.1.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl CLI は、amd64 アーキテクチャーで使用できます。
手順
roxctlCLI をダウンロードします。curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exe
$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3.2. 対話型インストーラーの使用 リンクのコピーリンクがクリップボードにコピーされました!
対話型インストーラーを使用して、お使いの環境に必要なシークレット、デプロイメント設定、およびデプロイメントスクリプトを生成します。
手順
対話型インストールコマンドを実行します。
roxctl central generate interactive
$ roxctl central generate interactiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要roxctlCLI を使用して RHACS をインストールすると、下位互換性のためにデフォルトで PodSecurityPolicy (PSP) オブジェクトが作成されます。RHACS を Kubernetes バージョン 1.25 以降または OpenShift Container Platform バージョン 4.12 以降にインストールする場合、PSP オブジェクトの作成を無効にする必要があります。これを行うには、roxctl central generateコマンドとroxctl sensor generateコマンドで--enable-pod-security-policiesオプションをfalseに指定します。Enter を押してプロンプトのデフォルト値を受け入れるか、必要に応じてカスタム値を入力します。次の例は、対話型インストーラーのプロンプトを示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- カスタム TLS 証明書を追加する場合は、PEM でエンコードされた証明書のファイルパスを指定します。カスタム証明書を指定すると、対話型インストーラーは、使用しているカスタム証明書の PEM 秘密鍵を提供するように要求します。
- 2
- Kubernetes バージョン 1.25 以降を実行している場合は、この値を
falseに設定します。 - 3
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 4
- RHACS ポータルを使用するには、ルート、ロードバランサー、またはノードポートを使用して Central を公開する必要があります。
- 5
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
警告OpenShift Container Platform で、hostPath ボリュームを使用するには、SELinux ポリシーを変更して、ホストとコンテナーが共有するディレクトリーへのアクセスを許可する必要があります。これは、SELinux がデフォルトでディレクトリー共有をブロックしているためです。SELinux ポリシーを変更するには、次のコマンドを実行します。
sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>
$ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ただし、Red Hat は SELinux ポリシーの変更を推奨していません。代わりに、OpenShift Container Platform にインストールするときに PVC を使用してください。
完了すると、インストーラーは central-bundle という名前のフォルダーを作成します。このフォルダーには、Central をデプロイするために必要な YAML マニフェストとスクリプトが含まれています。さらに、信頼できる認証局である Central と Scanner をデプロイするために実行する必要があるスクリプトの画面上の説明と、RHACS ポータルにログインするための認証手順、プロンプトに答える際にパスワードを入力しなかった場合は自動生成されたパスワードも表示されます。
4.1.3.3. Central インストールスクリプトの実行 リンクのコピーリンクがクリップボードにコピーされました!
対話型インストーラーを実行したら、setup.sh スクリプトを実行して Central をインストールできます。
手順
setup.shスクリプトを実行して、イメージレジストリーアクセスを設定します。./central-bundle/central/scripts/setup.sh
$ ./central-bundle/central/scripts/setup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なリソースを作成します。
oc create -R -f central-bundle/central
$ oc create -R -f central-bundle/centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントの進行状況を確認します。
oc get pod -n stackrox -w
$ oc get pod -n stackrox -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Central の実行後、RHACS ポータルの IP アドレスを見つけて、ブラウザーで開きます。プロンプトに応答するときに選択した公開方法に応じて、次のいずれかの方法を使用して IP アドレスを取得します。
Expand 公開方法 コマンド アドレス 例 ルート
oc -n stackrox get route central出力の
HOST/PORT列の下のアドレスhttps://central-stackrox.example.routeノードポート
oc get node -owide && oc -n stackrox get svc central-loadbalancerサービス用に表示されたポート上の任意のノードの IP またはホスト名
https://198.51.100.0:31489ロードバランサー
oc -n stackrox get svc central-loadbalancerEXTERNAL-IP、またはポート 443 でサービスに表示されるホスト名
https://192.0.2.0None
central-bundle/central/scripts/port-forward.sh 8443https://localhost:8443https://localhost:8443
対話型インストール中に自動生成されたパスワードを選択した場合は、次のコマンドを実行して、Central にログインするためのパスワードを確認できます。
cat central-bundle/password
$ cat central-bundle/password
4.2. Operator を使用した RHACS の Central 設定オプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用して Central インスタンスをインストールする場合、オプションの設定を指定できます。
4.2.1. Operator を使用した Central 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Central インスタンスを作成すると、Operator は Central カスタムリソースの次の設定オプションをリスト表示します。
次の表に、外部 PostgreSQL データベースの設定を記載します。
4.2.1.1. Central 設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
|
|
|
| デフォルトでは、Central は内部 TLS 証明書のみを提供します。つまり、Ingress またはロードバランサーレベルで TLS 終了を処理する必要があります。Central で TLS を終了し、カスタムサーバー証明書を提供する場合は、証明書と秘密鍵を含むシークレットを指定できます。 |
|
|
管理者パスワードの自動生成を無効にするには、このパラメーターを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
|
ロードバランサーを介して Central を公開するには、これを |
|
| このパラメーターを使用して、ロードバランサーのカスタムポートを指定します。 |
|
| このパラメーターを使用して、ロードバランサー用に予約されている静的 IP アドレスを指定します。 |
|
|
Red Hat OpenShift パススルールートを通じて Central を公開するには、これを |
|
| このパラメーターを使用して、Central のパススルールートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。 |
|
|
Red Hat OpenShift の再暗号化ルートを通じて Central を公開するには、これを |
|
| このパラメーターを使用して、Central の再暗号化ルートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。 |
|
| このパラメーターを使用して、完全な信頼チェーンを確立するために使用される可能性のある PEM エンコードされた証明書チェーンを指定します。デフォルトでは、OpenShift Container Platform が認証局を提供します。 |
|
| このパラメーターを使用して、ルートで提供される PEM エンコードされた証明書を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。 |
|
| このパラメーターを使用して、最終宛先 (つまり Central) の CA 証明書を指定します。OpenShift Container Platform ルーターは、この証明書を使用して、セキュアな接続のヘルスチェックを実行します。デフォルトでは、Central が認証局を提供します。 |
|
| このパラメーターを使用して、ルートで提供される証明書の PEM エンコードされた秘密鍵を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。 |
|
|
これを |
|
| これを使用して、明示的なノードポートを指定します。 |
|
|
Central の監視を有効にするには、 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| このパラメーターを使用して、Central のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Central のデフォルトのリソースリクエストをオーバーライドします。 |
|
| このパラメーターを使用して、Central イメージのイメージプルシークレットを指定します。 |
|
|
|
|
|
このパラメーターを設定すると、Central DB がデプロイされず、Central が指定された接続文字列を使用して接続します。このパラメーターの値を指定する場合は、
|
|
| ノードセレクターが Taint されたノードを選択する場合、このパラメーターを使用して、Central DB の Taint Toleration キー、値、および効果を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| ホスト上のディレクトリーに永続データを保存するためのホストパスを指定します。Red Hat はこのパラメーターの使用を推奨していません。ホストパスを使用する必要がある場合は、ノードセレクターで使用する必要があります。 |
|
|
永続データを管理するための PVC の名前。指定した名前の PVC が存在しない場合は、PVC が作成されます。設定されていない場合、デフォルト値は |
|
| クレームを通じて作成されたときの永続ボリュームのサイズ。これはデフォルトで自動的に生成されます。 |
|
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
|
| このパラメーターを使用して、Central と Central DB 間のデフォルトの最小接続プールサイズをオーバーライドします。デフォルト値は 10 です。 |
|
| このパラメーターを使用して、Central と Central DB 間のデフォルトの最大接続プールサイズをオーバーライドします。デフォルト値は 90 です。この値が、Central DB でサポートされる最大接続数を超えないようにしてください。
|
|
| このパラメーターを使用して、Central DB のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Central DB のデフォルトのリソース要求をオーバーライドします。 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
4.2.1.2. Operator 向け StackRox Scanner の設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| このスキャナーを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、StackRox Scanner のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、StackRox Scanner のデフォルトのリソース要求をオーバーライドします。 |
|
| 有効にすると、アナライザーレプリカの数は、指定された範囲内で、負荷に応じて動的に管理されます。 |
|
| アナライザーの自動スケーリング設定で使用するレプリカの最大数を指定します。 |
|
| アナライザーの自動スケーリング設定で使用するレプリカの最小数を指定します。 |
|
| 自動スケーリングが無効になっている場合、レプリカの数が常にこの値と一致するように設定されます。 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、StackRox Scanner DB のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、StackRox Scanner DB のデフォルトのリソース要求をオーバーライドします。 |
|
|
StackRox Scanner の監視を有効にするには、 |
|
| StackRox Scanner をデプロイしない場合は、このパラメーターを使用して無効にできます。StackRox Scanner を無効にすると、このセクションの他の設定がすべて無効になります。 |
4.2.1.3. Operator 向け Scanner V4 の設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、Scanner V4 DB のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Scanner V4 DB のデフォルトのリソース要求をオーバーライドします。 |
|
|
Scanner V4 の永続データを管理する PVC の名前。デフォルト値は |
|
| Scanner V4 の永続データを管理するための PVC のサイズ。 |
|
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、Scanner V4 Indexer のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Scanner V4 Indexer のデフォルトのリソース要求をオーバーライドします。 |
|
| 有効にすると、Scanner V4 Indexer のレプリカの数が、指定された制限内で負荷に基づいて動的に管理されます。 |
|
| Scanner V4 Indexer の自動スケーリング設定で使用されるレプリカの最大数を指定します。 |
|
| Scanner V4 Indexer の自動スケーリング設定で使用するレプリカの最小数を指定します。 |
|
| Scanner V4 Indexer の自動スケーリングが無効になっている場合、レプリカの数が常にこの値と一致するように設定されます。 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Matcher のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、Scanner V4 Matcher のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Scanner V4 Matcher のデフォルトのリソース要求をオーバーライドします。 |
|
| 有効にすると、Scanner V4 Matcher のレプリカの数が、指定された制限内で負荷に基づいて動的に管理されます。 |
|
| Scanner V4 Matcher の自動スケーリング設定で使用されるレプリカの最大数を指定します。 |
|
| Scanner V4 Matcher の自動スケーリング設定で使用するレプリカの最小数を指定します。 |
|
| Scanner V4 Matcher の自動スケーリングが無効になっている場合、レプリカの数が常にこの値と一致するように設定されます。 |
|
|
Scanner V4 のモニタリングエンドポイントを設定します。モニタリングエンドポイントを使用すると、Prometheus 互換形式で提供されるメトリクスを、他のサービスが Scanner V4 から収集できるようになります。モニタリングエンドポイントを公開するには、 |
|
|
この設定が指定されていない場合、新規インストールでは Scanner V4 がデフォルトで有効になります。以前のリリースからの更新の場合、Scanner V4 は、以前に有効になっていなかった場合はアップグレード時にデフォルトで有効になりません。Scanner V4 を無効にするには、 |
4.2.1.4. 一般およびその他の設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| Central デプロイメントのカスタムアノテーションを指定できます。 |
|
| 環境変数を設定するための詳細設定。 |
|
| RHACS をオンラインモードまたはオフラインモードのどちらで実行するかを設定します。オフラインモードでは、脆弱性定義とカーネルモジュールの自動更新は無効になります。 |
|
|
Central の |
|
|
このオプションを |
|
|
ネットワークレベルでセキュリティーを確保するために、RHACS は Central がインストールされている namespace にデフォルトの 警告 デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
|
| 「Operator とオーバーレイを使用したインストールのカスタマイズ」を参照してください。 |
|
| セキュアクラスターが信頼する追加の信頼できる CA 証明書。これらの証明書は、通常、プライベート認証局を使用してサービスと統合するときに使用されます。 |
4.2.2. Operator とオーバーレイを使用したインストールのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Operator とオーバーレイを使用して RHACS のインストールを調整する方法を説明します。
4.2.2.1. オーバーレイ リンクのコピーリンクがクリップボードにコピーされました!
Central または SecuredCluster のカスタムリソースが特定の低レベル設定オプションをパラメーターとして公開していない場合は、.spec.overlays フィールドを使用して調整できます。このフィールドを使用して、これらのカスタムリソースによって生成された Kubernetes リソースを修正します。
.spec.overlays フィールドは一連のパッチで構成されます。パッチはフィールド内のリストの順序で適用されます。これらのパッチは、デプロイメントがクラスターに送信される前に、Kubernetes リソース上で Operator によって処理されます。
Central と SecuredCluster の両方の .spec.overlays フィールドを使用すると、ユーザーは任意の方法で低レベルの Kubernetes リソースを変更できます。この機能は、SecuredCluster または Central カスタムリソースを通じて必要なカスタマイズが利用できない場合にのみ使用してください。
.spec.overlays 機能のサポートは限定的です。その主な理由は、この機能が Kubernetes リソースに複雑かつ非常に詳細な変更を加える権限を付与することにあります。Kubernetes リソースは、実装ごとに大幅に異なる場合があります。このレベルのカスタマイズを行うと、標準的な使用シナリオの範囲を超える複雑さが生じるため、広範なサポートを提供することが困難になります。場合によっては、固有の変更を行うことになり、製品のさまざまなバージョンや設定に応じて、Kubernetes システムに予期しない影響が発生する可能性があります。このような変動性があるため、このレベルのカスタマイズのトラブルシューティングを実施し、安定性を確保するには、各個人のセットアップに応じた一定レベルの専門知識と理解が必要です。そのため、この機能を使用すると、ニーズに合わせて的確に Kubernetes リソースを調整できる一方で、特に基盤となる製品のアップグレード変更時には、設定の互換性と安定性を確保するために、より大きな責任を担うことが要求されます。
次の例は、オーバーレイの構造を示しています。
- 1
- ターゲットとなる Kubernetes リソースの ApiVersion (例:
apps/v1、v1、networking.k8s.io/v1) - 2
- リソースタイプ (例: Deployment、ConfigMap、NetworkPolicy)
- 3
- リソースの名前 (例:
my-resource) - 4
- フィールドへの JSONPath 式 (例:
spec.template.spec.containers[name:central].env[-1]) - 5
- 新しいフィールド値の YAML 文字列YAML 解析を使用しない場合は、次の ConfigMap の例に示すように、
verbatimキーを使用できます。
4.2.2.1.1. オーバーレイの追加 リンクのコピーリンクがクリップボードにコピーされました!
カスタマイズのために、Central または SecuredCluster カスタムリソースにオーバーレイを追加できます。変更には、OpenShift CLI (oc) または OpenShift Container Platform Web コンソールを使用します。
オーバーレイが期待どおりに有効にならない場合は、RHACS Operator ログに構文エラーや問題が記録されていないか確認してください。
4.2.2.2. オーバーレイの例 リンクのコピーリンクがクリップボードにコピーされました!
4.2.2.2.1. Central ServiceAccount の EKS Pod ロール ARN の指定 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、Amazon Elastic Kubernetes Service (EKS) Pod ロールの Amazon Resource Name (ARN) アノテーションを central ServiceAccount に追加します。
4.2.2.2.2. Central デプロイメントへの環境変数の注入 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、環境変数を central デプロイメントに注入します。
4.2.2.2.3. Ingress ルールを使用したネットワークポリシーの拡張 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、ポート 999 トラフィック用の Ingress ルールを allow-ext-to-central ネットワークポリシーに追加します。
4.2.2.2.4. ConfigMap データの変更 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、central-endpoints ConfigMap のデータを変更します。
この例では、data の下の単一の項目 (ファイル) のみをオーバーライドする方法を示します。
以下の手順に従って、この例を実行します。
-
valueではなく、verbatimキーを使用します。これにより、改行や引用符などの文字が影響を受けずに通過できるようになります。 -
示されているように、
pathキーのファイル名のドットをエスケープする必要があります。または、パスをdata["endpoints.yaml"]と記述することもできます。
4.2.2.2.5. Central デプロイメントへのコンテナーの追加 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、新しいコンテナーを central デプロイメントに追加します。
4.3. Red Hat OpenShift での RHACS の init バンドルまたはクラスター登録シークレットの生成と適用 リンクのコピーリンクがクリップボードにコピーされました!
RHACS はインストール中に特別なアーティファクトを使用し、これにより Central は追加するセキュアクラスターとセキュアに通信できます。4.7 リリースより前の RHACS では、セキュアな通信チャネルを開始するために init バンドル のみが使用されていました。4.7 以降の RHACS では、init バンドルの代替手段として クラスター登録シークレット (CRS) が提供されています。
クラスター登録シークレットはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
クラスター登録シークレット (CRS) により、セキュリティーが強化され、使いやすくなりました。CRS には、Operator と Helm の両方のインストールメソッドを使用して RHACS をインストールするときに使用できるトークンが 1 つ含まれています。
CRS は新しいセキュアクラスターの登録にのみ使用されるため、セキュリティーが強化されます。漏洩した場合、init バンドル内の証明書とキーは、セキュアクラスターで実行されているサービスになりすますために使用される可能性があります。対照的に、CRS 内の証明書とキーは、新しいクラスターを 登録 するためにのみ使用できます。
CRS を使用してクラスターが設定されると、サービス固有の証明書が Central によって発行され、新しいセキュアクラスターに送信されます。これらのサービス証明書は、Central とセキュアクラスター間の通信に使用されます。したがって、クラスターの登録後、セキュアクラスターを切断せずに CRS を取り消すことができます。
セキュアクラスターのインストール時には、init バンドルまたはクラスター登録シークレット (CRS) のいずれかを使用できます。しかし RHACS では、ポータルを使用して CRS を作成する方法はまだ提供されていません。したがって、roxctl CLI を使用して CRS を作成する必要があります。
セキュアクラスターをセットアップする前に、init バンドルまたは CRS を作成する必要があります。その後、セキュアクラスターはこのバンドルまたは CRS を使用して Central で認証します。RHACS ポータルまたは roxctl CLI を使用して、init バンドルを作成できます。CRS を使用している場合は、roxctl CLI を使用して作成する必要があります。
その後、OpenShift Container Platform Web コンソールか、oc または kubectl CLI を使用して、init バンドルまたは CRS を適用できます。Helm を使用して RHACS をインストールする場合は、helm install コマンドの実行時に init バンドルまたは CRS を指定します。
init バンドルまたは CRS を作成するには、Admin ユーザーロールが必要です。
4.3.1. init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
4.3.1.1. RHACS ポータルを使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
手順
- 「Operator 方式を使用した Central インストールの検証」の説明に従って、RHACS ポータルのアドレスを見つけます。
- RHACS ポータルにログインします。
- セキュアクラスターまたは既存の init バンドルがない場合は、Platform Configuration → Clusters ページが表示されます。Create init bundle をクリックします。
- クラスター init バンドルの名前を入力します。
- プラットフォームを選択します。
- セキュアクラスターに使用するインストール方法 (Operator または Helm chart) を選択します。
Download をクリックし、init バンドルを生成してダウンロードします。init バンドルは YAML ファイル形式で作成されます。同じインストール方法を使用する場合は、すべてのセキュアクラスターに対して 1 つの init バンドルとそれに対応する YAML ファイルを使用できます。
重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。
- init バンドルを使用して適用し、セキュアクラスター上にリソースを作成します。
- 各クラスターにセキュアクラスターサービスをインストールします。
4.3.1.2. roxctl CLI を使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
Helm インストールのシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator インストール用のシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。同じバンドルを使用して、複数のセキュアクラスターを設定できます。
4.3.2. セキュアクラスターに init バンドルを適用する リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターを設定する前に、init バンドルを使用してそれを適用し、クラスター上に必要なリソースを作成する必要があります。init バンドルを適用すると、セキュアクラスター上のサービスが Central と通信できるようになります。
Helm チャートを使用してインストールする場合は、この手順を実行しないでください。Helm を使用してインストールを完了してください。関連情報セクションの「Helm チャートを使用したセキュアクラスターへの RHACS のインストール」を参照してください。
前提条件
- シークレットを含む init バンドルを生成している必要があります。
-
セキュアクラスターサービスをインストールするクラスター上に、
stackroxプロジェクトまたは namespace を作成した。プロジェクトとしてstackroxを使用することは必須ではありませんが、使用すると、クラスターのスキャン時に RHACS プロセスの脆弱性が報告されなくなります。
手順
リソースを作成するには、次の手順のいずれか 1 つだけを実行します。
-
OpenShift Container Platform Web コンソールを使用してリソースを作成する: OpenShift Container Platform Web コンソールで、
stackroxnamespace に移動します。上部のメニューで + をクリックして、Import YAML ページを開きます。init バンドルファイルをドラッグするか、その内容をコピーしてエディターに貼り付け、Create をクリックします。コマンドが完了すると、collector-tls、sensor-tls、admission-control-tlsの各リソースが作成されたことが画面に表示されます。 Red Hat OpenShift CLI を使用してリソースを作成する: Red Hat OpenShift CLI を使用して、次のコマンドを実行してリソースを作成します。
oc create -f <init_bundle.yaml> \ -n <stackrox>
$ oc create -f <init_bundle.yaml> \1 -n <stackrox>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3. クラスター登録シークレット (CRS) の生成 リンクのコピーリンクがクリップボードにコピーされました!
4.3.3.1. roxctl CLI を使用して CRS を生成する リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、クラスター登録シークレットを作成できます。
CRS を作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
CRS を生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \ --output <file_name>
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \1 --output <file_name>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このファイルにはシークレットが含まれているため、セキュアに保管してください。同じファイルを使用して、複数のセキュアクラスターを設定できます。以前生成された CRS を取得することはできません。
このコマンドは、選択した出力に応じて CRS と YAML ファイルに関する INFO メッセージを返す場合があります。
出力例
4.3.4. セキュアクラスターにクラスター登録シークレット (CRS) を適用する リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターを設定する前に、CRS をクラスターに適用する必要があります。CRS を適用すると、セキュアクラスター上のサービスは Central とセキュアに通信できるようになります。
Helm チャートを使用してインストールする場合は、この手順を実行しないでください。Helm を使用してインストールを完了してください。関連情報セクションの「Helm チャートを使用したセキュアクラスターへの RHACS のインストール」を参照してください。
前提条件
- CRS を生成した。
手順
リソースを作成するには、次の手順のいずれか 1 つだけを実行します。
-
OpenShift Container Platform Web コンソールを使用してリソースを作成します。OpenShift Container Platform Web コンソールで、
stackroxプロジェクト、またはセキュアクラスターサービスをインストールするプロジェクトに移動します。上部のメニューで + をクリックして、Import YAML ページを開きます。CRS ファイルをドラッグするか、その内容をコピーしてエディターにペーストし、Create をクリックします。コマンドが完了すると、cluster-registration-secretという名前のシークレットが作成されたことが画面に表示されます。 Red Hat OpenShift CLI を使用してリソースを作成する: Red Hat OpenShift CLI を使用して、次のコマンドを実行してリソースを作成します。
oc create -f <file_name.yaml> \ -n <stackrox>
$ oc create -f <file_name.yaml> \1 -n <stackrox>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.5. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- 監視するすべてのクラスターに RHACS のセキュアクラスターサービスをインストールします。
4.4. Red Hat OpenShift に RHACS のセキュアクラスターサービスをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかの方法を使用して、セキュアクラスターに RHACS をインストールできます。
- Operator を使用してインストールする
- Helm チャートを使用してインストールする
-
roxctlCLI を使用してインストールする (この方法の使用が必要な特定のインストールニーズがある場合を除き、この方法は使用しないでください)。
4.4.1. Operator を使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用して RHACS をインストールするには、まず Operator をインストールし、次にそれを使用してセキュアクラスターに RHACS をインストールします。
4.4.1.1. インストール時に使用される Operator アノテーション リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、カスタムリソース (CR) にアタッチされたアノテーションを使用します。これにより、Operator を使用して実行されるインストールでは、特定の設定項目のデフォルト値が現在の環境に基づいて Operator によって実行時に決定され、項目の以前に設定された値が保持されます。
一部の設定項目では、インストール時に静的なデフォルト値を使用することは理想的ではありません。RHACS バージョン 4.8 以降、Operator はクラスターに適用する CR にアタッチされるアノテーションを追加できます。これらのアノテーションにより、新規インストールのデフォルトの動作が変更された場合でも、Operator が以前に行ったデフォルトの決定が保持され、将来的に再適用されます。つまり、RHACS はアノテーションを使用して実行時のデフォルトを永続化します。これは、特定の設定のデフォルト値が実行時に Operator によって決定されることを意味します。
たとえば、リリース 4.8 以降では、Scanner V4 を有効にするための値が指定されていない場合、デフォルトの動作では Scanner V4 が有効になります。ただし、CR に disable などの値が設定されている場合、RHACS はその値を使用します。Scanner V4 の例では、バージョン 4.7 では Scanner V4 はデフォルトで無効になっています。Operator を使用してバージョン 4.8 に更新すると、その無効な設定が維持され、Scanner V4 は無効になります。
アノテーションの形式は feature-defaults.platform.stackrox.io/<identifier> です。たとえば、feature-defaults.platform.stackrox.io/scannerV4 は、Operator が RHACS バージョン 4.8 への更新中にデフォルトの Scanner V4 有効化トグルを安定した状態に保つことを可能にするアノテーションです。
これらのアノテーションを変更したり削除したりしないでください。
4.4.1.2. セキュアクラスターサービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用してクラスターにセキュアクラスターサービスをインストールできます。これにより、SecuredCluster カスタムリソースが作成されます。セキュアクラスターサービスは、監視する環境内のすべてのクラスターにインストールする必要があります。
Red Hat Advanced Cluster Security for Kubernetes をインストールする場合:
-
RHACS を初めてインストールする場合は、
SecuredClusterカスタムリソースのインストールは Central が生成する証明書に依存しているため、最初にCentralカスタムリソースをインストールする必要があります。 -
名前が
kube、openshift、redhatで始まるプロジェクト、またはistio-systemプロジェクトにはSecuredClusterをインストールしないでください。 -
Central もホストしているクラスターに RHACS
SecuredClusterカスタムリソースをインストールする場合は、必ず Central と同じ namespace にインストールしてください。 -
Central をホストしていないクラスターに Red Hat Advanced Cluster Security for Kubernetes
SecuredClusterカスタムリソースをインストールする場合、Red Hat では、Red Hat Advanced Cluster Security for Kubernetes Operator をインストールしたプロジェクトではなく、独自のプロジェクトに Red Hat Advanced Cluster Security for KubernetesSecuredClusterカスタムリソースをインストールすることを推奨します。
前提条件
- OpenShift Container Platform を使用している場合は、バージョン 4.12 以降をインストールした。
- 保護対象のクラスター (セキュアクラスターと呼ばれます) に RHACS Operator をインストールした。
-
init バンドルまたはクラスター登録シークレット (CRS) を生成し、推奨される
stackroxnamespace 内のクラスターに適用した。
手順
- セキュアクラスターの OpenShift Container Platform Web コンソールで、Operators → Installed Operators ページに移動します。
- RHACS Operator をクリックします。
推奨される namespace に Operator をインストールした場合、OpenShift Container Platform はプロジェクトを
rhacs-operatorとしてリストします。注記-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
rhacs-operatorの代わりにその namespace の名前を表示します。
-
Operator を別の namespace にインストールした場合、OpenShift Container Platform は
- Installed Operators をクリックします。
-
init バンドルまたは CRS の適用時に、
stackroxnamespace を作成したはずです。メニューで Project:stackrox が選択されていることを確認して、その namespace にいることを確認します。 - Provided APIs で、Secured Cluster をクリックします。
- Create SecuredCluster をクリックします。
Configure via フィールドで次のいずれかのオプションを選択します。
- Form view: 画面上のフィールドを使用してセキュアクラスターを設定する場合、および他のフィールドを変更する必要がない場合は、このオプションを使用します。
- YAML view: このビューは、YAML ファイルを使用してセキュアクラスターをセットアップするために使用します。YAML ファイルがウィンドウに表示され、その中のフィールドを編集できます。このオプションを選択した場合、ファイルの編集が終了したら、Create をクリックします。
- Form view を使用している場合は、デフォルトの名前を受け入れるか編集して、新しいプロジェクト名を入力します。デフォルト値は stackrox-secured-cluster-services です。
- オプション: クラスターのラベルを追加します。
-
SecuredClusterカスタムリソースの一意の名前を入力します。 Central Endpoint に、Central インスタンスのアドレスを入力します。たとえば、Central が
https://central.example.comで利用できる場合は、Central エンドポイントをcentral.example.comに指定します。-
Central がインストールされている同じクラスターにセキュアクラスターサービスをインストールする場合に のみ、デフォルト値
central.stackrox.svc:443を使用します。 - 複数のクラスターを設定する場合は、デフォルト値を使用しないでください。代わりに、各クラスターの Central Endpoint 値を設定するときにホスト名を使用します。
-
Central がインストールされている同じクラスターにセキュアクラスターサービスをインストールする場合に のみ、デフォルト値
- 残りのフィールドでは、デフォルト値を受け入れるか、必要に応じてカスタム値を設定します。たとえば、カスタム証明書または信頼されていない CA を使用している場合は、TLS の設定が必要になる場合があります。詳細は、「Operator を使用した RHACS のセキュアクラスターサービスオプションの設定」を参照してください。
- Create をクリックします。
少し待った後、SecuredClusters ページに
stackrox-secured-cluster-servicesのステータスが表示されます。次のような状態が表示される場合があります。- Conditions: Deployed, Initialized: セキュアクラスターサービスがインストールされており、セキュアクラスターが Central と通信しています。
- Conditions: Initialized, Irreconcilable: セキュアクラスターが Central と通信していません。RHACS Web ポータルで作成した init バンドルがセキュアクラスターに適用されていることを確認してください。
次のステップ
- 追加のセキュアクラスター設定を設定します (オプション)。
- インストールの検証
4.4.2. Helm チャートを使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートをカスタマイズせずに使用するか、デフォルト値を使用するか、設定パラメーターをカスタマイズして、セキュアクラスターに RHACS をインストールできます。
4.4.2.1. カスタマイズせずに Helm チャートを使用してセキュアクラスターに RHACS をインストールする リンクのコピーリンクがクリップボードにコピーされました!
4.4.2.1.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、次のようなさまざまなコンポーネントをインストールするための Helm チャートが含まれています。
集中型コンポーネント (Central および Scanner) をインストールするための Central サービス Helm チャート (
central-services)。注記集中型コンポーネントは 1 回だけデプロイします。同じインストールを使用して複数の別のクラスターを監視できます。
クラスターおよびノードごとのコンポーネント (Sensor、Admission Controller、Collector、および Scanner-slim) をインストールするためのセキュアクラスターサービスの Helm チャート (
secured-cluster-services)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.2.1.2. カスタマイズせずに secured-cluster-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順に従って、secured-cluster-services Helm チャートをインストールし、クラスターおよびノードごとのコンポーネント (Sensor、Admission コントローラー、Collector、および Scanner-slim) をデプロイします。
前提条件
- クラスター用に RHACS init バンドルまたは CRS を生成した。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスが必要です。
手順
OpenShift Container Platform クラスターで次のいずれかのコマンドを実行します。
init バンドルを使用している場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRS を使用している場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.2.2. カスタマイズした secured-cluster-services Helm チャートの設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、helm install および helm upgrade コマンドで使用できる Helm チャート設定パラメーターを説明します。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。
secured-cluster-services Helm チャートを使用している間は、チャートの一部である values.yaml ファイルを変更しないでください。
4.4.2.2.1. 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| クラスターの名前です。 |
|
|
Central エンドポイントのアドレス。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
|
| ポート番号を含む Sensor エンドポイントのアドレスです。 |
|
| Sensor コンテナーのイメージプルポリシーです。 |
|
| Sensor が使用する内部サービス間の TLS 証明書です。 |
|
| Sensor が使用する内部サービス間 TLS 証明書キーです。 |
|
| Sensor コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
|
|
| Collector イメージの名前です。 |
|
| main イメージに使用しているレジストリーのアドレスです。 |
|
| Collector イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner DB イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 DB イメージに使用しているレジストリーのアドレスです。 |
|
|
|
|
| Collector イメージのイメージプルポリシーです。 |
|
|
使用する |
|
|
使用する |
|
|
|
|
| Collector コンテナーのイメージプルポリシーです。 |
|
| Compliance コンテナーのイメージプルポリシーです。 |
|
|
|
|
| Collector コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance の CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector が使用する内部サービス間 TLS 証明書です。 |
|
| Collector が使用する内部サービス間 TLS 証明書キーです。 |
|
|
この設定は、ワークロード作成イベントの |
|
|
このパラメーターを |
|
|
この設定は、Kubernetes |
|
| この設定は、Red Hat Advanced Cluster Security for Kubernetes がポリシーを評価するかどうかを制御します。無効にすると、すべての AdmissionReview リクエストが自動的に承認されます。 |
|
|
この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、 |
|
|
このオプションを |
|
|
Admission コントローラーのバイパスを無効にするには、 |
|
|
このパラメーターを使用して、RHACS がアドミッションレビューをフェールオープンとしてマークするまで待機する必要がある最大秒数を指定します。タイムアウト期間の終了前にアドミッション Webhook が要求している情報を受信しない場合、アドミッション Webhook は失敗します。一方、フェールオープンステータスの場合も、操作の正常な実行は許可されます。たとえば、スキャンがタイムアウトし、デプロイメントがポリシーに違反しているかどうかを RHACS が判断できない場合でも、アドミッションコントローラーはデプロイメントの作成を許可します。リリース 4.5 以降、Red Hat は RHACS アドミッションコントローラー Webhook のデフォルトのタイムアウト設定を 20 秒から 10 秒に短縮しました。その結果、 |
|
| Admission Control コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
アドミッションコントローラー Webhook に特定の |
|
| Admission Control が使用する内部サービス間 TLS 証明書です。 |
|
| Admission Control が使用する内部サービス間 TLS 証明書キーです。 |
|
|
このパラメーターを使用して、デフォルトの |
|
|
|
|
|
|
|
|
|
|
|
非推奨。Collector のデプロイに slim Collector イメージを使用する場合は、 |
|
| Sensor のリソース仕様です。 |
|
| Admission コントローラーのリソース仕様です。 |
|
| Collector のリソース仕様です。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
|
このオプションを |
|
|
このオプションを |
|
|
このオプションを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
| このパラメーターを設定すると、Scanner のログレベルを変更できます。このオプションは、トラブルシューティングの目的でのみ使用してください。 |
|
|
このオプションを |
|
| 自動スケーリングのレプリカの最小数です。デフォルトは 2 です。 |
|
| 自動スケーリングのレプリカの最大数です。デフォルトは 5 です。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 |
|
| Scanner コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
このオプションを |
|
|
ネットワークレベルでセキュリティーを提供するために、RHACS はセキュアクラスターリソースがインストールされている namespace にデフォルトの 警告 デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
4.4.2.2.1.1. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Sensor および Admission コントローラーの環境変数は、次の形式で指定できます。
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize 設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
4.4.2.2.2. カスタマイズした secured-cluster-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml ファイルと values-private.yaml ファイルを設定したら、secured-cluster-services Helm チャートをインストールして、次のクラスターおよびノードごとのコンポーネントをデプロイします。
- Sensor
- Admission コントローラー
- Collector
- Scanner: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner DB: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner V4 Indexer および Scanner V4 DB: Scanner V4 がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスとポート番号が必要です。
手順
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
継続的インテグレーション (CI) システムを使用して secured-cluster-services Helm チャートをデプロイするには、init バンドル YAML ファイルを環境変数として helm install コマンドに渡します。
helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
- 1
- base64 でエンコードされた変数を使用している場合は、代わりに
helm install … -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode)コマンドを使用してください。
4.4.2.3. secured-cluster-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
secured-cluster-services Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 新しいコンポーネントを有効にするなどの一部の変更では、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgradeコマンドで指定する必要があります。central-servicesHelm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
CA が Helm チャートの外部で生成されたものであり、
central-servicesチャートのインストール時にその CA を指定した場合は、helm upgradeコマンドを使用するときに、たとえばhelm upgradeコマンドで--reuse-valuesフラグを使用して、その操作を再度実行する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
$ helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \1 -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない値を変更した場合は、--reuse-valuesパラメーターを含めます。
4.4.3. roxctl CLI を使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
この方法はマニフェストインストール方法とも呼ばれます。
前提条件
-
roxctlCLI コマンドを使用して Sensor インストールスクリプトで使用されるファイルを生成する場合は、roxctlCLI をインストールしている。 - Sensor インストールスクリプトで使用されるファイルを生成している。
手順
- OpenShift Container Platform のセキュアクラスターで、Sensor インストールスクリプトを実行して Sensor コンポーネントをデプロイします。
4.4.3.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
最初にバイナリーをダウンロードする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
4.4.3.1.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
Linux 用の roxctl CLI は、amd64、arm64、ppc64le、s390x アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.3.1.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl CLI は、amd64 および arm64 アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.3.1.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl CLI は、amd64 アーキテクチャーで使用できます。
手順
roxctlCLI をダウンロードします。curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exe
$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.3.2. Sensor のインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。このインストール方法は、マニフェストインストール方法とも呼ばれます。
マニフェストインストール方法を使用してインストールを実行するには、次の手順の いずれか 1 つだけ を実行します。
- RHACS Web ポータルを使用してクラスターバンドルをダウンロードし、Sensor スクリプトを展開して実行します。
-
roxctlCLI を使用して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、それを Central インスタンスに関連付けます。
前提条件
- Central サービスがすでにインストールされている。または、Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) で ACS インスタンス を選択すると、Central サービスにアクセスできます。
4.4.3.2.1. Web ポータルを使用したマニフェストインストール方法 リンクのコピーリンクがクリップボードにコピーされました!
手順
- セキュアクラスターの RHACS ポータルで、Platform Configuration → Clusters に移動します。
- Secure a cluster → Legacy installation method を選択します。
- クラスターの名前を指定します。
Sensor をデプロイする場所に基づいて、フィールドに適切な値を入力します。
- 同じクラスターに Sensor をデプロイする場合は、すべてのフィールドのデフォルト値を受け入れます。
-
別のクラスターにデプロイする場合は、
central.stackrox.svc:443を、他のクラスターからアクセス可能なロードバランサー、ノードポート、またはポート番号を含む他のアドレスに置き換えます。 HAProxy、AWS Application Load Balancer (ALB)、AWS Elastic Load Balancing (ELB) などの非 gRPC 対応のロードバランサーを使用している場合は、WebSocket Secure (
wss) プロトコルを使用してください。wssを使用するには:-
アドレスの前に
wss://を付けます。 -
アドレスの後にポート番号を追加します (例
wss://stackrox-central.example.com:443)。
-
アドレスの前に
- Next をクリックして、Sensor のセットアップを続行します。
Download YAML File and Keys をクリックして、クラスターバンドル (zip アーカイブ) をダウンロードします。
重要クラスターバンドルの zip アーカイブには、クラスターごとに固有の設定とキーが含まれています。同じファイルを別のクラスターで再利用しないでください。
監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから
sensorスクリプトを展開して実行します。unzip -d sensor sensor-<cluster_name>.zip
$ unzip -d sensor sensor-<cluster_name>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./sensor/sensor.sh
$ ./sensor/sensor.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
4.4.3.2.2. roxctl CLI を使用したマニフェストインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
以下のコマンドを実行して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、Central インスタンスに関連付けます。
roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT"
$ roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--openshift-versionオプションでは、クラスターの主要な OpenShift Container Platform バージョン番号を指定します。たとえば、OpenShift Container Platform バージョン3.xの場合は3を指定し、OpenShift Container Platform バージョン4.xの場合は4を指定します。
監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから
sensorスクリプトを展開して実行します。unzip -d sensor sensor-<cluster_name>.zip
$ unzip -d sensor sensor-<cluster_name>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./sensor/sensor.sh
$ ./sensor/sensor.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
検証
RHACS ポータルに戻り、デプロイメントが成功したかどうかを確認します。成功した場合、Platform Configuration → Clusters でクラスターのリストを表示すると、クラスターのステータスに緑色のチェックマークと Healthy ステータスが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。
OpenShift Container Platform で、次のコマンドを入力します。
oc get pod -n stackrox -w
$ oc get pod -n stackrox -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes で、次のコマンドを入力します。
kubectl get pod -n stackrox -w
$ kubectl get pod -n stackrox -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Finish をクリックしてウィンドウを閉じます。
インストール後、Sensor はセキュリティー情報の RHACS へのレポートを開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。
4.5. Operator を使用した RHACS のセキュアクラスターサービスオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用してセキュアクラスターサービスをインストールする場合、オプションの設定を指定できます。
4.5.1. セキュアクラスターサービスの設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Central インスタンスを作成すると、Operator は Central カスタムリソースの次の設定オプションをリスト表示します。
4.5.1.1. 必要な設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
|
ポート番号を含む、接続する Central インスタンスのエンドポイント。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
|
| RHACS ポータルに表示されるこのクラスターの一意の名前。このパラメーターを使用して名前を設定した後、名前を再度変更することはできません。名前を変更するには、オブジェクトを削除して再作成する必要があります。 |
4.5.1.2. Admission コントローラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
|
オブジェクト作成の予防ポリシーの適用を有効にするには、 |
|
|
|
|
|
オブジェクトの更新に対する予防ポリシーの適用を有効にするには、 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、アドミッションコントローラーのデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、アドミッションコントローラーのデフォルトのリソースリクエストをオーバーライドします。 |
|
| 以下のいずれかの値を使用して、Admission コントローラー適用のバイパスを設定します。
デフォルト値は |
|
| 次のいずれかの値を使用して、アドミッションコントローラーをイメージ Scanner に接続する必要があるかどうかを指定します。
デフォルト値は |
|
|
このパラメーターを使用して、RHACS がアドミッションレビューをフェールオープンとしてマークするまで待機する必要がある最大秒数を指定します。タイムアウト期間の終了前にアドミッション Webhook が要求している情報を受信しない場合、アドミッション Webhook は失敗します。一方、フェールオープンステータスの場合も、操作の正常な実行は許可されます。たとえば、スキャンがタイムアウトし、デプロイメントがポリシーに違反しているかどうかを RHACS が判断できない場合でも、アドミッションコントローラーはデプロイメントの作成を許可します。リリース 4.5 以降、Red Hat は RHACS アドミッションコントローラー Webhook のデフォルトのタイムアウト設定を 20 秒から 10 秒に短縮しました。その結果、 |
4.5.1.3. Operator のスキャナー設定 リンクのコピーリンクがクリップボードにコピーされました!
スキャナー設定を使用して、統合 OpenShift イメージレジストリーのローカルクラスタースキャナーを変更します。
| パラメーター | 説明 |
|---|---|
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| Scanner コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
このオプションを |
|
|
自動スケーリングのレプリカの最小数です。デフォルト値は |
|
|
自動スケーリングのレプリカの最大数です。デフォルト値は |
|
|
レプリカのデフォルト数。デフォルト値は |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 |
|
|
ノードセレクターのラベルを |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| Scanner DB コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 |
|
|
このオプションを |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Scanner V4 DB のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Scanner V4 DB のデフォルトのリソース要求をオーバーライドします。 |
|
|
Scanner V4 の永続データを管理する PVC の名前。クラスターにデフォルトのストレージクラスが存在する場合は、推奨されるデフォルトである PVC を使用できます。デフォルトのストレージクラスが存在せず、 |
|
| Scanner V4 の永続データを管理するための PVC のサイズ。 |
|
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されておらず、このパラメーターに値が指定されていない場合は、一時ストレージが使用されます。 |
|
| このコンポーネントを特定のノードでのみ実行する場合は、このパラメーターを使用してノードセレクターを設定できます。 |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Scanner V4 Indexer のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Scanner V4 Indexer のデフォルトのリソース要求をオーバーライドします。 |
|
| 有効にすると、Scanner V4 Indexer のレプリカの数が、指定された制限内で負荷に基づいて動的に管理されます。 |
|
| Scanner V4 Indexer の自動スケーリング設定で使用されるレプリカの最大数を指定します。 |
|
| Scanner V4 Indexer の自動スケーリング設定で使用するレプリカの最小数を指定します。 |
|
| Scanner V4 Indexer の自動スケーリングが無効になっている場合、レプリカの数が常にこの値と一致するように設定されます。 |
|
|
Scanner V4 のモニタリングエンドポイントを設定します。モニタリングエンドポイントを使用すると、Prometheus 互換形式で提供されるメトリクスを、他のサービスが Scanner V4 から収集できるようになります。モニタリングエンドポイントを公開するには、 |
|
| Scanner V4 を有効にします。有効な値は以下のとおりです。
*
*
* |
4.5.1.4. イメージ設定 リンクのコピーリンクがクリップボードにコピーされました!
カスタムレジストリーを使用している場合は、イメージ設定を使用します。
| パラメーター | 説明 |
|---|---|
|
| イメージをプルするために考慮される追加のイメージプルシークレット。 |
4.5.1.5. ノードごとの設定 リンクのコピーリンクがクリップボードにコピーされました!
ノードごとの設定は、クラスターをセキュリティー保護するためにクラスター内の各ノードで実行されるコンポーネントの設定を定義します。これらのコンポーネントは、Collector と Compliance です。
| パラメーター | 説明 |
|---|---|
|
|
システムレベルのデータ収集の方法。デフォルト値は |
|
|
Collector に使用するイメージのタイプ。 |
|
| このパラメーターを使用して、Collector のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Collector のデフォルトのリソースリクエストをオーバーライドします。 |
|
| このパラメーターを使用して、Compliance のデフォルトのリソースリクエストをオーバーライドします。 |
|
| このパラメーターを使用して、Compliance のデフォルトのリソース制限をオーバーライドします。 |
|
|
クラスターアクティビティーを包括的にモニタリングするために、Red Hat Advanced Cluster Security for Kubernetes は、デフォルトで taint されたノードを含む、クラスター内のすべてのノードでサービスを実行します。この動作を望まない場合は、このパラメーターに |
4.5.1.6. Sensor 設定 リンクのコピーリンクがクリップボードにコピーされました!
この設定は、クラスター内の 1 つのノードで実行される Sensor コンポーネントの設定を定義します。
| パラメーター | 説明 |
|---|---|
|
| Sensor を特定のノードでのみ実行する場合は、ノードセレクターを設定できます。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| このパラメーターを使用して、Pod の hosts ファイルにホストおよび IP アドレスを注入します。 |
|
| このパラメーターを使用して、Sensor のデフォルトのリソース制限をオーバーライドします。 |
|
| このパラメーターを使用して、Sensor のデフォルトのリソースリクエストをオーバーライドします。 |
4.5.1.7. 一般およびその他の設定 リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| Central デプロイメントのカスタムアノテーションを指定できます。 |
|
| 環境変数を設定するための詳細設定。 |
|
| Red Hat Advanced Cluster Security for Kubernetes をオンラインモードとオフラインモードのどちらで実行するかを設定します。オフラインモードでは、脆弱性定義とカーネルモジュールの自動更新は無効になります。 |
|
|
Central の SCC を作成するには、これを |
|
|
ネットワークレベルでセキュリティーを提供するために、RHACS はセキュアクラスターリソースがインストールされている namespace にデフォルトの 警告 デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
|
| 「Operator とオーバーレイを使用したインストールのカスタマイズ」を参照してください。 |
|
| セキュアクラスター用の追加の信頼できる CA 証明書。これらの証明書は、プライベート認証局を使用してサービスと統合するときに使用されます。 |
4.5.2. Operator とオーバーレイを使用したインストールのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
Operator とオーバーレイを使用して RHACS のインストールを調整する方法を説明します。
4.5.2.1. オーバーレイ リンクのコピーリンクがクリップボードにコピーされました!
Central または SecuredCluster のカスタムリソースが特定の低レベル設定オプションをパラメーターとして公開していない場合は、.spec.overlays フィールドを使用して調整できます。このフィールドを使用して、これらのカスタムリソースによって生成された Kubernetes リソースを修正します。
.spec.overlays フィールドは一連のパッチで構成されます。パッチはフィールド内のリストの順序で適用されます。これらのパッチは、デプロイメントがクラスターに送信される前に、Kubernetes リソース上で Operator によって処理されます。
Central と SecuredCluster の両方の .spec.overlays フィールドを使用すると、ユーザーは任意の方法で低レベルの Kubernetes リソースを変更できます。この機能は、SecuredCluster または Central カスタムリソースを通じて必要なカスタマイズが利用できない場合にのみ使用してください。
.spec.overlays 機能のサポートは限定的です。その主な理由は、この機能が Kubernetes リソースに複雑かつ非常に詳細な変更を加える権限を付与することにあります。Kubernetes リソースは、実装ごとに大幅に異なる場合があります。このレベルのカスタマイズを行うと、標準的な使用シナリオの範囲を超える複雑さが生じるため、広範なサポートを提供することが困難になります。場合によっては、固有の変更を行うことになり、製品のさまざまなバージョンや設定に応じて、Kubernetes システムに予期しない影響が発生する可能性があります。このような変動性があるため、このレベルのカスタマイズのトラブルシューティングを実施し、安定性を確保するには、各個人のセットアップに応じた一定レベルの専門知識と理解が必要です。そのため、この機能を使用すると、ニーズに合わせて的確に Kubernetes リソースを調整できる一方で、特に基盤となる製品のアップグレード変更時には、設定の互換性と安定性を確保するために、より大きな責任を担うことが要求されます。
次の例は、オーバーレイの構造を示しています。
- 1
- ターゲットとなる Kubernetes リソースの ApiVersion (例:
apps/v1、v1、networking.k8s.io/v1) - 2
- リソースタイプ (例: Deployment、ConfigMap、NetworkPolicy)
- 3
- リソースの名前 (例:
my-resource) - 4
- フィールドへの JSONPath 式 (例:
spec.template.spec.containers[name:central].env[-1]) - 5
- 新しいフィールド値の YAML 文字列YAML 解析を使用しない場合は、次の ConfigMap の例に示すように、
verbatimキーを使用できます。
4.5.2.1.1. オーバーレイの追加 リンクのコピーリンクがクリップボードにコピーされました!
カスタマイズのために、Central または SecuredCluster カスタムリソースにオーバーレイを追加できます。変更には、OpenShift CLI (oc) または OpenShift Container Platform Web コンソールを使用します。
オーバーレイが期待どおりに有効にならない場合は、RHACS Operator ログに構文エラーや問題が記録されていないか確認してください。
4.5.2.2. オーバーレイの例 リンクのコピーリンクがクリップボードにコピーされました!
4.5.2.2.1. Central ServiceAccount の EKS Pod ロール ARN の指定 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、Amazon Elastic Kubernetes Service (EKS) Pod ロールの Amazon Resource Name (ARN) アノテーションを central ServiceAccount に追加します。
4.5.2.2.2. Central デプロイメントへの環境変数の注入 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、環境変数を central デプロイメントに注入します。
4.5.2.2.3. Ingress ルールを使用したネットワークポリシーの拡張 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、ポート 999 トラフィック用の Ingress ルールを allow-ext-to-central ネットワークポリシーに追加します。
4.5.2.2.4. ConfigMap データの変更 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、central-endpoints ConfigMap のデータを変更します。
この例では、data の下の単一の項目 (ファイル) のみをオーバーライドする方法を示します。
以下の手順に従って、この例を実行します。
-
valueではなく、verbatimキーを使用します。これにより、改行や引用符などの文字が影響を受けずに通過できるようになります。 -
示されているように、
pathキーのファイル名のドットをエスケープする必要があります。または、パスをdata["endpoints.yaml"]と記述することもできます。
4.5.2.2.5. Central デプロイメントへのコンテナーの追加 リンクのコピーリンクがクリップボードにコピーされました!
次の例に示すように、新しいコンテナーを central デプロイメントに追加します。
4.6. Red Hat OpenShift での RHACS のインストールの確認 リンクのコピーリンクがクリップボードにコピーされました!
RHACS が正しくインストールされていることを確認する手順を示します。
4.6.1. インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
公開方法に基づいて RHACS ポータルのアドレスを見つけます。
ルートの場合。
oc get route central -n stackrox
$ oc get route central -n stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーの場合。
oc get service central-loadbalancer -n stackrox
$ oc get service central-loadbalancer -n stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow port forward の場合:
以下のコマンドを実行します。
oc port-forward svc/central 18443:443 -n stackrox
$ oc port-forward svc/central 18443:443 -n stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
https://localhost:18443/に移動します。
Red Hat OpenShift CLI を使用して、新しいプロジェクトを作成します。
oc new-project test
$ oc new-project testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重大な脆弱性を持ついくつかのアプリケーションを開始します。
oc run shell --labels=app=shellshock,team=test-team \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2014-6271 -n test oc run samba --labels=app=rce \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2017-7494 -n test
$ oc run shell --labels=app=shellshock,team=test-team \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2014-6271 -n test $ oc run samba --labels=app=rce \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2017-7494 -n testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。違反を表示するには、RHACS ポータルにアクセスしてください。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
第5章 他のプラットフォームへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
5.1. 他のプラットフォームへの RHACS のインストールの概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、Amazon Elastic Kubernetes Service (Amazon EKS)、Google Kubernetes Engine (Google GKE)、Microsoft Azure Kubernetes Service (Microsoft AKS) などのプラットフォームでセルフマネージド RHACS にセキュリティーサービスを提供します。
インストールする前に:
- 各プラットフォームのインストール方法 を理解する。
- Red Hat Advanced Cluster Security for Kubernetes のアーキテクチャー を理解する。
- デフォルトのリソース要件ページ を確認する。
次のリストは、インストール手順の概要を示しています。
-
Helm チャートまたは
roxctlCLI を使用して、クラスターに Central サービス をインストールします。 - init バンドル を生成して適用します。
- セキュアクラスターのリソース を各セキュアクラスターにインストールします。
5.2. 他のプラットフォームに RHACS の Central サービスをインストールする リンクのコピーリンクがクリップボードにコピーされました!
Central は、RHACS アプリケーション管理インターフェイスとサービスを含むリソースです。データの永続性、API インタラクション、および RHACS ポータルアクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターを保護できます。
次のいずれかの方法を使用して、Central をインストールできます。
- Helm チャートを使用してインストールする
-
roxctlCLI を使用してインストールします (この方法を使用する必要がある特定のインストールが必要でない限り、この方法は使用しないでください)。
5.2.1. Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
カスタマイズせずに Helm チャートを使用するか、デフォルト値を使用するか、設定パラメーターをさらにカスタマイズして Helm チャートを使用することにより、Central をインストールできます。
5.2.1.1. カスタマイズせずに Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、カスタマイズなしで Red Hat OpenShift クラスターにインストールできます。集中型コンポーネントである Central と Scanner をインストールするために、Helm チャートリポジトリーを追加し、central-services Helm チャートをインストールする必要があります。
5.2.1.1.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、次のようなさまざまなコンポーネントをインストールするための Helm チャートが含まれています。
集中型コンポーネント (Central および Scanner) をインストールするための Central サービス Helm チャート (
central-services)。注記集中型コンポーネントは 1 回だけデプロイします。同じインストールを使用して複数の別のクラスターを監視できます。
クラスターおよびノードごとのコンポーネント (Sensor、Admission Controller、Collector、および Scanner-slim) をインストールするためのセキュアクラスターサービスの Helm チャート (
secured-cluster-services)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.1.1.2. カスタマイズせずに central-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、central-services Helm チャートをインストールし、集中型コンポーネント (Central および Scanner) をデプロイします。
前提条件
-
Red Hat コンテナーレジストリーにアクセスできる必要があります。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
手順
次のコマンドを実行して Central services をインストールし、ルートを使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password> \ --set central.exposure.route.enabled=true
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.route.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、次のコマンドを実行して Central services をインストールし、ロードバランサーを使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password> \ --set central.exposure.loadBalancer.enabled=true
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.loadBalancer.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、次のコマンドを実行して Central services をインストールし、port forward を使用して Central を公開します。
helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \ --set imagePullSecrets.password=<password>
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、
proxyConfigパラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
インストール先の namespace に 1 つ以上のイメージプルシークレットをすでに作成している場合は、ユーザー名とパスワードを使用する代わりに、
--set imagePullSecrets.useExisting="<pull-secret-1;pull-secret-2>"を使用できます。 イメージプルシークレットは使用しないでください。
-
quay.io/stackrox-ioまたは認証を必要としないプライベートネットワークのレジストリーからイメージを取得する場合。ユーザー名とパスワードを指定する代わりに、--set imagePullSecrets.allowNone=trueを使用します。 -
インストールする namespace のデフォルトサービスアカウントでイメージプルシークレットをすでに設定している場合。ユーザー名とパスワードを指定する代わりに、
--set imagePullSecrets.useFromDefaultServiceAccount=trueを使用します。
-
インストールコマンドの出力は次のとおりです。
- 自動的に生成された管理者パスワード。
- すべての設定値を保存するための手順。
- Helm が生成する警告。
5.2.1.1.3. 自動生成された認証局の取得 リンクのコピーリンクがクリップボードにコピーされました!
RHACS をインストールすると、認証局 (CA) が自動的に生成され、クラスターの Kubernetes シークレットに保存されます。後で Helm を使用してインストールを変更する場合は、この CA を提供する必要がある場合があります。たとえば、インストール時に最初に無効にされた RHACS コンポーネントを有効にするには、この CA を提供する必要があります。
自動的に生成された CA は、通常、stackrox-generated-suffix のような名前が付けられたシークレットに保存されます。ここで、suffix はランダムに生成された文字列になります。
たとえば、helm upgrade コマンドに必要なときに CA を取得して generated-values.yaml ファイルにエクスポートするには、次のコマンドを実行します。
kubectl -n <namespace> get secret stackrox-generated-<suffix> \
-o go-template='{{ index .data "generated-values.yaml" }}' | \
base64 --decode >generated-values.yaml
$ kubectl -n <namespace> get secret stackrox-generated-<suffix> \
-o go-template='{{ index .data "generated-values.yaml" }}' | \
base64 --decode >generated-values.yaml
このファイルには機密データが含まれている可能性があるため、安全な場所に保管してください。
設定を変更した後に helm upgrade コマンドを使用する場合は、この CA を提供する必要がある場合があります。たとえば、システムを更新して Scanner V4 を有効にするには、次のコマンドを実行します。
helm upgrade -n stackrox stackrox-central-services rhacs/central-services --reuse-values \ -f <path_to_generated-values.yaml> \ --set scannerV4.disable=false
$ helm upgrade -n stackrox stackrox-central-services rhacs/central-services --reuse-values \
-f <path_to_generated-values.yaml> \
--set scannerV4.disable=false
5.2.1.2. カスタマイズした Helm チャートを使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
helm install および helm upgrade コマンドで Helm チャートの設定パラメーターを使用することで、Red Hat OpenShift クラスターに RHACS をカスタマイズしてインストールできます。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。 -
設定ファイル
declarative-config-values.yaml: 宣言設定を使用して宣言設定マウントを Central に追加する場合は、このファイルを作成します。
5.2.1.2.1. プライベート設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、values-private.yaml ファイルの設定可能なパラメーターをリストします。これらのパラメーターのデフォルト値はありません。
5.2.1.2.1.1. イメージプルのシークレット リンクのコピーリンクがクリップボードにコピーされました!
レジストリーからイメージをプルするために必要な認証情報は、以下の要素によって異なります。
カスタムレジストリーを使用している場合、以下のパラメーターを指定する必要があります。
-
imagePullSecrets.username -
imagePullSecrets.password -
image.registry
-
カスタムレジストリーへのログインにユーザー名とパスワードを使用しない場合は、以下のいずれかのパラメーターを指定する必要があります。
-
imagePullSecrets.allowNone -
imagePullSecrets.useExisting -
imagePullSecrets.useFromDefaultServiceAccount
-
| パラメーター | 説明 |
|---|---|
|
| レジストリーへのログインに使用されるアカウントのユーザー名。 |
|
| レジストリーへのログインに使用されるアカウントのパスワード |
|
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
5.2.1.2.1.2. プロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、proxyConfig パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
| パラメーター | 説明 |
|---|---|
|
| プロキシー設定。 |
5.2.1.2.1.3. Central リンクのコピーリンクがクリップボードにコピーされました!
Central の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップできます。
-
central.jwtSigner.key -
central.serviceTLS.cert -
central.serviceTLS.key -
central.adminPassword.value -
central.adminPassword.htpasswd -
central.db.serviceTLS.cert -
central.db.serviceTLS.key -
central.db.password.value - これらのパラメーターの値を指定しない場合、Helm チャートはそれらの値を自動生成します。
-
これらの値を変更する場合は、
helm upgradeコマンドを使用し、--setオプションを使用して値を指定できます。
管理者パスワードの設定には、central.adminPassword.value または central.adminPassword.htpasswd のいずれかのみを使用できますが、両方を使用することはできません。
| パラメーター | 説明 |
|---|---|
|
| RHACS が認証用の JSON Web トークン (JWT) に署名するために使用する秘密鍵。 |
|
| Central サービスが Central をデプロイするために使用する必要がある内部証明書。 |
|
| Central サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Central が使用する必要のあるユーザー向けの証明書。RHACS は、RHACS ポータルにこの証明書を使用します。
|
|
| Central が使用する必要のあるユーザー向け証明書の秘密鍵。
|
|
| Central データベースの接続パスワード。 |
|
| RHACS にログインするための管理者パスワード。 |
|
| RHACS にログインするための管理者パスワード。このパスワードは、bcrypt を使用してハッシュ形式で保存されます。 |
|
| Central DB サービスが Central DB をデプロイするために使用する内部証明書。 |
|
| Central DB サービスが使用する内部証明書の秘密キー。 |
|
| Central DB への接続に使用されるパスワード。 |
central.adminPassword.htpasswd パラメーターを使用している場合は、bcrypt でエンコードされたパスワードハッシュを使用する必要があります。コマンド htpasswd -nB admin を実行して、パスワードハッシュを生成できます。以下に例を示します。
htpasswd: | admin:<bcrypt-hash>
htpasswd: |
admin:<bcrypt-hash>
5.2.1.2.1.4. Scanner リンクのコピーリンクがクリップボードにコピーされました!
StackRox Scanner および Scanner V4 の設定可能なパラメーター。
新規インストールの場合、次のパラメーターをスキップでき、Helm チャートがそれらの値を自動生成します。それ以外の場合、新しいバージョンにアップグレードする場合は、以下のパラメーターの値を指定してください。
-
scanner.dbPassword.value -
scanner.serviceTLS.cert -
scanner.serviceTLS.key -
scanner.dbServiceTLS.cert -
scanner.dbServiceTLS.key -
scannerV4.db.password.value -
scannerV4.indexer.serviceTLS.cert -
scannerV4.indexer.serviceTLS.key -
scannerV4.matcher.serviceTLS.cert -
scannerV4.matcher.serviceTLS.key -
scannerV4.db.serviceTLS.cert -
scannerV4.db.serviceTLS.key
| パラメーター | 説明 |
|---|---|
|
| Scanner データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
|
| StackRox Scanner サービスが StackRox Scanner をデプロイするために使用する内部証明書。 |
|
| Scanner サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Scanner-db サービスが Scanner データベースをデプロイするために使用する必要がある内部証明書。 |
|
| Scanner-db サービスが使用する必要がある内部証明書の秘密鍵。 |
|
| Scanner V4 データベースでの認証に使用するパスワード。RHACS がこのパラメーターの値を内部で自動的に作成して使用するため、このパラメーターは変更しないでください。 |
|
| Scanner V4 DB サービスが Scanner V4 データベースをデプロイするために使用する内部証明書。 |
|
| Scanner V4 DB サービスが使用する内部証明書の秘密鍵。 |
|
| Scanner V4 Indexer をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
|
| Scanner V4 Indexer が使用する内部証明書の秘密鍵。 |
|
| Scanner V4 Matcher をデプロイするために Scanner V4 サービスが使用する内部証明書。 |
|
| Scanner V4 Matcher が使用する内部証明書の秘密鍵。 |
5.2.1.2.2. パブリック設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、values-public.yaml ファイルの設定可能なパラメーターをリストします。
5.2.1.2.2.1. イメージプルのシークレット リンクのコピーリンクがクリップボードにコピーされました!
イメージプルシークレットは、レジストリーからイメージをプルするために必要なクレデンシャルです。
| パラメーター | 説明 |
|---|---|
|
|
カスタムレジストリーを使用していて、クレデンシャルなしでイメージをプルできる場合は、 |
|
|
値としてのシークレットのコンマ区切りリスト。たとえば、 |
|
|
十分なスコープのイメージプルシークレットを使用してターゲット namespace にデフォルトのサービスアカウントをすでに設定している場合は、 |
5.2.1.2.2.2. イメージ リンクのコピーリンクがクリップボードにコピーされました!
イメージでは、メインレジストリーをセットアップするための設定を宣言します。Helm チャートはこの設定を使用して、central.image、scanner.image、scanner.dbImage、scannerV4.image、および scannerV4.db.image パラメーターのイメージを解決します。
| パラメーター | 説明 |
|---|---|
|
|
イメージレジストリーのアドレス。 |
5.2.1.2.2.3. Policy as code 機能 リンクのコピーリンクがクリップボードにコピーされました!
Policy as code 機能を使用すると、RHACS を Argo CD などの継続的デリバリーツールと連携させて、ローカルで作成したポリシーや RHACS ポータルからエクスポートして変更したポリシーを追跡、管理、適用するように設定できます。RHACS がインストールされているのと同じ namespace に、Policy as code 機能を適用するように Argo CD またはその他のツールを設定します。
| パラメーター | 説明 |
|---|---|
|
|
デフォルトでは、値は |
5.2.1.2.2.4. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes は、クラスター環境を自動的に検出し、env.openshift、env.istio、および env.platform の値を設定します。クラスター環境の自動検出をオーバーライドするには、これらの値のみを設定してください。
| パラメーター | 説明 |
|---|---|
|
|
OpenShift Container Platform クラスターにインストールし、クラスター環境の自動検出をオーバーライドする場合は、 |
|
|
|
|
|
RHACS をインストールするプラットフォーム。その値を |
|
|
RHACS をオフラインモードで使用するには |
5.2.1.2.2.5. 追加の信頼された認証局 リンクのコピーリンクがクリップボードにコピーされました!
RHACS は、信頼するシステムルート証明書を自動的に参照します。Central、StackRox Scanner、または Scanner V4 が、組織内の機関またはグローバルに信頼されているパートナー組織によって発行された証明書を使用するサービスにアクセスする必要がある場合、次のパラメーターを使用して信頼するルート認証局を指定することにより、これらのサービスの信頼を追加できます。
| パラメーター | 説明 |
|---|---|
|
| 信頼するルート認証局の PEM エンコード証明書を指定します。 |
5.2.1.2.2.6. デフォルトのネットワークポリシー リンクのコピーリンクがクリップボードにコピーされました!
ネットワークレベルでセキュリティーを確保するために、RHACS は Central がインストールされている namespace にデフォルトの NetworkPolicy リソースを作成します。これらのネットワークポリシーは、特定のポート上の特定のコンポーネントへの Ingress を許可します。RHACS でこれらのポリシーを作成しない場合は、このパラメーターを Disabled に設定します。デフォルト値は Enabled です。
デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。
| パラメーター | 説明 |
|---|---|
|
|
RHACS がコンポーネント間の通信を許可するためにデフォルトのネットワークポリシーを作成するかどうかを指定します。独自のネットワークポリシーを作成するには、このパラメーターを |
5.2.1.2.2.7. Central リンクのコピーリンクがクリップボードにコピーされました!
Central の設定可能なパラメーター。
-
外部アクセス用の Central のデプロイメントを公開するため。1 つのパラメーター、
central.exposure.loadBalancer、central.exposure.nodePort、またはcentral.exposure.routeのいずれかを指定する必要があります。これらのパラメーターに値を指定しない場合は、手動で Central を公開するか、ポート転送を使用して Central にアクセスする必要があります。
次の表に、外部 PostgreSQL データベースの設定を記載します。
| パラメーター | 説明 |
|---|---|
|
| 宣言的設定に使用される config map をマウントします。 |
|
| 宣言型設定に使用されるシークレットをマウントします。 |
|
| Central のエンドポイント設定オプションです。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Central の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
ポート番号 |
|
|
Central イメージのグローバル |
|
|
デフォルトの Central イメージ名 ( |
|
|
Central イメージのデフォルトタグをオーバーライドするカスタムイメージタグです。新規インストール時に独自のイメージタグを指定した場合は、 |
|
|
Central イメージのレジストリーアドレス、イメージ名、およびイメージタグを含む完全なリファレンスです。このパラメーターの値を設定すると、 |
|
| Central のメモリー要求。 |
|
| Central の CPU 要求。 |
|
| Central のメモリー制限。 |
|
| Central の CPU 制限。 |
|
|
ロードバランサーを使用して Central を公開するには、 |
|
| Central を公開するポート番号です。デフォルトのポート番号は 443 です。 |
|
|
|
|
| Central を公開するポート番号です。このパラメーターをスキップすると、OpenShift Container Platform は自動的にポート番号を割り当てます。Red Hat では、ノードポートを使用して RHACS を公開する場合、ポート番号を指定しないことを推奨しています。 |
|
|
ルートを使用して Central を公開するには、 |
|
| このパラメーターを使用して、Central のパススルールートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
|
Red Hat OpenShift の再暗号化ルートを通じて Central を公開するには、これを |
|
| このパラメーターを使用して、Central の再暗号化ルートに使用するカスタムホスト名を指定します。OpenShift Container Platform のデフォルト値を受け入れるには、これを未設定のままにします。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、完全な信頼チェーンを確立するために使用される可能性のある PEM エンコードされた証明書チェーンを指定します。デフォルトでは、OpenShift Container Platform が認証局を提供します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、ルートで提供される PEM エンコードされた証明書を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
| このパラメーターを使用して、最終宛先 (つまり Central) の CA 証明書を指定します。OpenShift Container Platform ルーターは、この証明書を使用して、セキュアな接続のヘルスチェックを実行します。デフォルトでは、Central が認証局を提供します。 |
|
| このパラメーターを使用して、ルートで提供される証明書の PEM エンコードされた秘密鍵を指定します。OpenShift Container Platform 認証局がデフォルトの証明書に署名します。このパラメーターは、OpenShift Container Platform クラスターでのみ使用できます。 |
|
|
Central DB をデプロイせず、外部データベースを使用することを指定するには、 |
|
|
Central がデータベースへの接続に使用する接続文字列。これは、
|
|
| 確立されるデータベースへの接続の最小数。 |
|
| 確立されるデータベースへの接続の最大数。 |
|
| 単一のクエリーまたはトランザクションがデータベースに対してアクティブにできるミリ秒数。 |
|
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される postgresql.conf。 |
|
| PostgreSQL ドキュメントの「追加リソース」で説明されているように、Central DB に使用される pg_hba.conf。 |
|
|
ノードセレクターのラベルを |
|
|
Central DB イメージのグローバル |
|
|
デフォルトの Central DB イメージ名 ( |
|
|
Central DB イメージのデフォルトのタグをオーバーライドするカスタムイメージタグ。新規インストール時に独自のイメージタグを指定した場合は、 |
|
|
Central DB イメージのレジストリーアドレス、イメージ名、イメージタグを含む完全なリファレンス。このパラメーターの値を設定すると、 |
|
| Central DB のメモリー要求。 |
|
| Central DB の CPU 要求。 |
|
| Central DB のメモリー制限。 |
|
| Central DB の CPU 制限。 |
|
| RHACS がデータベースボリュームを作成するノード上のパス。Red Hat はこのオプションの使用を推奨していません。 |
|
| 使用している永続ボリューム要求 (PVC) の名前です。 |
|
|
|
|
| 指定された要求によるマネージドの永続ボリュームのサイズ (GiB 単位) です。 |
5.2.1.2.2.8. StackRox Scanner リンクのコピーリンクがクリップボードにコピーされました!
次の表に、StackRox Scanner の設定可能なパラメーターを示します。StackRox Scanner は非推奨となりました。
| パラメーター | 説明 |
|---|---|
|
|
StackRox Scanner なしで RHACS をインストールするには、 |
|
|
ポート番号 |
|
|
StackRox Scanner デプロイメント用に作成するレプリカの数。 |
|
|
StackRox Scanner のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
StackRox Scanner デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| StackRox Scanner のメモリー要求。 |
|
| StackRox Scanner の CPU 要求。 |
|
| StackRox Scanner のメモリー制限。 |
|
| StackRox Scanner の CPU 制限。 |
|
| StackRox Scanner データベースデプロイメントのメモリー要求。 |
|
| StackRox Scanner データベースデプロイメントの CPU 要求。 |
|
| StackRox Scanner データベースデプロイメントのメモリー制限。 |
|
| StackRox Scanner データベースデプロイメントの CPU 制限。 |
|
| StackRox Scanner イメージのカスタムレジストリー。 |
|
|
デフォルトの StackRox Scanner イメージ名 ( |
|
| StackRox Scanner DB イメージのカスタムレジストリー。 |
|
|
デフォルトの StackRox Scanner DB イメージ名 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
5.2.1.2.2.9. Scanner V4 リンクのコピーリンクがクリップボードにコピーされました!
次の表に、Scanner V4 の設定可能なパラメーターを示します。
| パラメーター | 説明 |
|---|---|
|
|
Scanner V4 の永続データを管理する PVC の名前。Central の場合、デフォルトでシステムは PVC を作成し、名前にデフォルト値 |
|
| Scanner V4 の永続データを管理するための PVC のサイズ。 |
|
| PVC に使用するストレージクラスの名前。クラスターがデフォルトのストレージクラスで設定されていない場合は、このパラメーターの値を指定する必要があります。 |
|
| 次の値が有効です。
値が指定されていない場合は、デフォルトで次の動作が発生します。
|
|
|
Scanner V4 の Prometheus メトリクスエンドポイントをポート番号 |
|
|
Scanner V4 Indexer デプロイメント用に作成するレプリカの数。 |
|
|
Scanner V4 Indexer のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
Scanner V4 Indexer デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| Scanner V4 Indexer のメモリー要求。 |
|
| Scanner V4 Indexer の CPU 要求。 |
|
| Scanner V4 Indexer のメモリー制限。 |
|
| Scanner V4 Indexer の CPU 制限。 |
|
|
Scanner V4 Matcher デプロイメント用に作成するレプリカの数。 |
|
|
Red Hat では、デフォルトのログレベル値 ( |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Matcher のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
Scanner V4 Matcher デプロイメントの自動スケーリングを無効にするには、 |
|
| 自動スケーリングのレプリカの最小数です。 |
|
| 自動スケーリングのレプリカの最大数です。 |
|
| Scanner V4 Matcher のメモリー要求。 |
|
| Scanner V4 Matcher の CPU 要求。 |
|
| Scanner V4 データベースデプロイメントのメモリー要求。 |
|
| Scanner V4 データベースデプロイメントの CPU 要求。 |
|
| Scanner V4 データベースデプロイメントのメモリー制限。 |
|
| Scanner V4 データベースデプロイメントの CPU 制限。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
| Scanner V4 DB イメージのカスタムレジストリー。 |
|
|
デフォルトの Scanner V4 DB イメージ名 ( |
|
| Scanner V4 イメージのカスタムレジストリー。 |
|
|
デフォルトの Scanner V4 イメージ名 ( |
5.2.1.2.2.10. カスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
以下のパラメーターを使用して、RHACS が作成するすべてのオブジェクトの追加属性を指定します。
| パラメーター | 説明 |
|---|---|
|
| すべてのオブジェクトにアタッチするカスタムラベルです。 |
|
| すべてのオブジェクトにアタッチするカスタムアノテーションです。 |
|
| すべてのデプロイメントにアタッチするカスタムラベルです。 |
|
| すべてのデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべてのオブジェクトのすべてのコンテナーのカスタム環境変数。 |
|
| Central が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Central が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Central のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Central のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Central コンテナーのカスタム環境変数。 |
|
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Scanner が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Scanner のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Scanner のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Scanner コンテナーのカスタム環境変数。 |
|
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムラベル。 |
|
| Scanner DB が作成するすべてのオブジェクトに割り当てるカスタムアノテーション。 |
|
| すべての Scanner DB のデプロイメントにアタッチするカスタムラベルです。 |
|
| すべての Scanner DB のデプロイメントにアタッチするカスタムアノテーションです。 |
|
| すべての Scanner DB コンテナーのカスタム環境変数。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Indexer が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 Indexer コンテナーとそれらに属する Pod のカスタム環境変数。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 Matcher が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 Matcher コンテナーとそれらに属する Pod のカスタム環境変数。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムラベル。 |
|
| Scanner V4 DB が作成するすべてのオブジェクトと、それらに属する Pod に割り当てるカスタムアノテーション。 |
|
| すべての Scanner V4 DB コンテナーとそれらに属する Pod のカスタム環境変数。 |
以下のように使用することもできます。
-
すべてのオブジェクトのラベルとアノテーションを指定するための
customize.other.service/*.labelsおよびcustomize.other.service/*.annotationsパラメーターです。 -
または、特定のサービス名を指定します。たとえば、
customize.other.service/central-loadbalancer.labelsとcustomize.other.service/central-loadbalancer.annotationsをパラメーターとして指定し、それらの値を設定します。
5.2.1.2.2.11. 高度なカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
このセクションで指定されているパラメーターは、情報提供のみを目的としています。Red Hat は、namespace やリリース名が変更された RHACS インスタンスをサポートしません。
| パラメーター | 説明 |
|---|---|
|
|
RHACS をデフォルトの |
|
|
デフォルトの |
5.2.1.2.3. 宣言的な設定値 リンクのコピーリンクがクリップボードにコピーされました!
宣言型設定を使用するには、宣言型設定マウントを Central に追加する YAML ファイル (この例では "declarative-config-values.yaml" という名前) を作成する必要があります。このファイルは Helm インストールで使用されます。
手順
次の例をガイドラインとして使用して、YAML ファイル (この例では
declarative-config-values.yamlという名前) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
「central-services Helm チャートのインストール」の説明に従って、
declarative-config-values.yamlファイルを参照して、Central サービス Helm チャートをインストールします。
5.2.1.2.4. central-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml ファイルと values-private.yaml ファイルを設定した後、central-services Helm チャートをインストールして、集中型コンポーネント (Central と Scanner) をデプロイします。
手順
以下のコマンドを実行します。
helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>
$ helm install -n stackrox --create-namespace \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
-fオプションを使用して、YAML 設定ファイルのパスを指定します。
オプション: 宣言型設定を使用する場合は、このコマンドに -f <path_to_declarative-config-values.yaml を追加して、宣言型設定ファイルを Central にマウントします。
5.2.1.3. central-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
central-services Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 新しいコンポーネントを有効にするなどの一部の変更では、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgradeコマンドで指定する必要があります。central-servicesHelm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
CA が Helm チャートの外部で生成されたものであり、
central-servicesチャートのインストール時にその CA を指定した場合は、helm upgradeコマンドを使用するときに、たとえばhelm upgradeコマンドで--reuse-valuesフラグを使用して、その操作を再度実行する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない値を変更した場合は、--reuse-valuesパラメーターを含めます。
5.2.2. roxctl CLI を使用して Central をインストールする リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、Red Hat は Operator または Helm チャートを使用して RHACS をインストールすることを推奨しています。この方法を使用する必要がある特定のインストールがない限り、roxctl のインストール手法を使用しないでください。
5.2.2.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes をインストールするには、バイナリーをダウンロードして roxctl CLI をインストールする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
5.2.2.1.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
Linux 用の roxctl CLI は、amd64、arm64、ppc64le、s390x アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.2.1.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl CLI は、amd64 および arm64 アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.2.1.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl CLI は、amd64 アーキテクチャーで使用できます。
手順
roxctlCLI をダウンロードします。curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exe
$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.2.2. 対話型インストーラーの使用 リンクのコピーリンクがクリップボードにコピーされました!
対話型インストーラーを使用して、お使いの環境に必要なシークレット、デプロイメント設定、およびデプロイメントスクリプトを生成します。
手順
対話型インストールコマンドを実行します。
roxctl central generate interactive
$ roxctl central generate interactiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要roxctlCLI を使用して RHACS をインストールすると、下位互換性のためにデフォルトで PodSecurityPolicy (PSP) オブジェクトが作成されます。RHACS を Kubernetes バージョン 1.25 以降または OpenShift Container Platform バージョン 4.12 以降にインストールする場合、PSP オブジェクトの作成を無効にする必要があります。これを行うには、roxctl central generateコマンドとroxctl sensor generateコマンドで--enable-pod-security-policiesオプションをfalseに指定します。Enter を押してプロンプトのデフォルト値を受け入れるか、必要に応じてカスタム値を入力します。次の例は、対話型インストーラーのプロンプトを示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- カスタム TLS 証明書を追加する場合は、PEM でエンコードされた証明書のファイルパスを指定します。カスタム証明書を指定すると、対話型インストーラーは、使用しているカスタム証明書の PEM 秘密鍵を提供するように要求します。
- 2
- Kubernetes バージョン 1.25 以降を実行している場合は、この値を
falseに設定します。 - 3
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 4
- RHACS ポータルを使用するには、ルート、ロードバランサー、またはノードポートを使用して Central を公開する必要があります。
- 5
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
警告OpenShift Container Platform で、hostPath ボリュームを使用するには、SELinux ポリシーを変更して、ホストとコンテナーが共有するディレクトリーへのアクセスを許可する必要があります。これは、SELinux がデフォルトでディレクトリー共有をブロックしているためです。SELinux ポリシーを変更するには、次のコマンドを実行します。
sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>
$ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ただし、Red Hat は SELinux ポリシーの変更を推奨していません。代わりに、OpenShift Container Platform にインストールするときに PVC を使用してください。
完了すると、インストーラーは central-bundle という名前のフォルダーを作成します。このフォルダーには、Central をデプロイするために必要な YAML マニフェストとスクリプトが含まれています。さらに、信頼できる認証局である Central と Scanner をデプロイするために実行する必要があるスクリプトの画面上の説明と、RHACS ポータルにログインするための認証手順、プロンプトに答える際にパスワードを入力しなかった場合は自動生成されたパスワードも表示されます。
5.2.2.3. Central インストールスクリプトの実行 リンクのコピーリンクがクリップボードにコピーされました!
対話型インストーラーを実行したら、setup.sh スクリプトを実行して Central をインストールできます。
手順
setup.shスクリプトを実行して、イメージレジストリーアクセスを設定します。./central-bundle/central/scripts/setup.sh
$ ./central-bundle/central/scripts/setup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なリソースを作成します。
oc create -R -f central-bundle/central
$ oc create -R -f central-bundle/centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow
kubectl create -R -f central-bundle/central
$ kubectl create -R -f central-bundle/central
デプロイメントの進行状況を確認します。
oc get pod -n stackrox -w
$ oc get pod -n stackrox -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow
kubectl get pod -n stackrox -w
$ kubectl get pod -n stackrox -w
Central の実行後、RHACS ポータルの IP アドレスを見つけて、ブラウザーで開きます。プロンプトに応答するときに選択した公開方法に応じて、次のいずれかの方法を使用して IP アドレスを取得します。
Expand 公開方法 コマンド アドレス 例 ルート
oc -n stackrox get route central出力の
HOST/PORT列の下のアドレスhttps://central-stackrox.example.routeノードポート
oc get node -owide && oc -n stackrox get svc central-loadbalancerサービス用に表示されたポート上の任意のノードの IP またはホスト名
https://198.51.100.0:31489ロードバランサー
oc -n stackrox get svc central-loadbalancerEXTERNAL-IP、またはポート 443 でサービスに表示されるホスト名
https://192.0.2.0None
central-bundle/central/scripts/port-forward.sh 8443https://localhost:8443https://localhost:8443
対話型インストール中に自動生成されたパスワードを選択した場合は、次のコマンドを実行して、Central にログインするためのパスワードを確認できます。
cat central-bundle/password
$ cat central-bundle/password
5.3. 他のプラットフォーム上の RHACS の init バンドルまたはクラスター登録シークレットの生成と適用 リンクのコピーリンクがクリップボードにコピーされました!
RHACS はインストール中に特別なアーティファクトを使用し、これにより Central は追加するセキュアクラスターとセキュアに通信できます。4.7 リリースより前の RHACS では、セキュアな通信チャネルを開始するために init バンドル のみが使用されていました。4.7 以降の RHACS では、init バンドルの代替手段として クラスター登録シークレット (CRS) が提供されています。
クラスター登録シークレットはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
クラスター登録シークレット (CRS) により、セキュリティーが強化され、使いやすくなりました。CRS には、Operator と Helm の両方のインストールメソッドを使用して RHACS をインストールするときに使用できるトークンが 1 つ含まれています。
CRS は新しいセキュアクラスターの登録にのみ使用されるため、セキュリティーが強化されます。漏洩した場合、init バンドル内の証明書とキーは、セキュアクラスターで実行されているサービスになりすますために使用される可能性があります。対照的に、CRS 内の証明書とキーは、新しいクラスターを 登録 するためにのみ使用できます。
CRS を使用してクラスターが設定されると、サービス固有の証明書が Central によって発行され、新しいセキュアクラスターに送信されます。これらのサービス証明書は、Central とセキュアクラスター間の通信に使用されます。したがって、クラスターの登録後、セキュアクラスターを切断せずに CRS を取り消すことができます。
現在、インストール中における init バンドルまたはクラスター登録シークレット (CRS) の使用がサポートされています。しかし RHACS では、ポータルを使用して CRS を作成する方法はまだ提供されていません。したがって、roxctl CLI を使用して CRS を作成する必要があります。
Operator または Helm インストールメソッドを使用して RHACS をインストールするときに、CRS を使用できます。
セキュアクラスターをセットアップする前に、init バンドルまたは CRS を作成する必要があります。その後、セキュアクラスターはこのバンドルまたは CRS を使用して Central で認証します。RHACS ポータルまたは roxctl CLI を使用して、init バンドルを作成できます。CRS を使用している場合は、roxctl CLI を使用して作成する必要があります。
その後、OpenShift Container Platform Web コンソールか、oc または kubectl CLI を使用して、init バンドルまたは CRS を適用できます。Helm を使用して RHACS をインストールする場合は、helm install コマンドの実行時に init バンドルまたは CRS を指定します。
init バンドルを作成するには、Admin ユーザーロールが必要です。
5.3.1. init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
5.3.1.1. RHACS ポータルを使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
RHACS ポータルを使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
手順
- 「Operator 方式を使用した Central インストールの検証」の説明に従って、RHACS ポータルのアドレスを見つけます。
- RHACS ポータルにログインします。
- セキュアクラスターまたは既存の init バンドルがない場合は、Platform Configuration → Clusters ページが表示されます。Create init bundle をクリックします。
- クラスター init バンドルの名前を入力します。
- プラットフォームを選択します。
- セキュアクラスターに使用するインストール方法 (Operator または Helm chart) を選択します。
Download をクリックし、init バンドルを生成してダウンロードします。init バンドルは YAML ファイル形式で作成されます。同じインストール方法を使用する場合は、すべてのセキュアクラスターに対して 1 つの init バンドルとそれに対応する YAML ファイルを使用できます。
重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。
- init バンドルを使用して適用し、セキュアクラスター上にリソースを作成します。
- 各クラスターにセキュアクラスターサービスをインストールします。
5.3.1.2. roxctl CLI を使用した init バンドルの生成 リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、シークレットを含む init バンドルを作成できます。
init バンドルを作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
Helm インストールのシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output \ cluster_init_bundle.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator インストール用のシークレットを含むクラスター初期化バンドルを生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yaml
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central init-bundles generate <cluster_init_bundle_name> --output-secrets \ cluster_init_bundle.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このバンドルにはシークレットが含まれているため、セキュアに保管してください。同じバンドルを使用して、複数のセキュアクラスターを設定できます。
5.3.1.3. セキュアクラスターに init バンドルを適用する リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターを設定する前に、init バンドルを使用してそれを適用し、クラスター上に必要なリソースを作成する必要があります。init バンドルを適用すると、セキュアクラスター上のサービスが Central と通信できるようになります。
Helm チャートを使用してインストールする場合は、この手順を実行しないでください。Helm を使用してインストールを完了してください。関連情報セクションの「Helm チャートを使用したセキュアクラスターへの RHACS のインストール」を参照してください。
前提条件
- シークレットを含む init バンドルを生成している必要があります。
-
セキュアクラスターサービスをインストールするクラスター上に、
stackroxプロジェクトまたは namespace を作成した。プロジェクトとしてstackroxを使用することは必須ではありませんが、使用すると、クラスターのスキャン時に RHACS プロセスの脆弱性が報告されなくなります。
手順
リソースを作成するには、次の手順のいずれか 1 つだけを実行します。
-
OpenShift Container Platform Web コンソールを使用してリソースを作成する: OpenShift Container Platform Web コンソールで、
stackroxnamespace に移動します。上部のメニューで + をクリックして、Import YAML ページを開きます。init バンドルファイルをドラッグするか、その内容をコピーしてエディターに貼り付け、Create をクリックします。コマンドが完了すると、collector-tls、sensor-tls、admission-control-tlsの各リソースが作成されたことが画面に表示されます。 Red Hat OpenShift CLI を使用してリソースを作成する: Red Hat OpenShift CLI を使用して、次のコマンドを実行してリソースを作成します。
oc create -f <init_bundle.yaml> \ -n <stackrox>
$ oc create -f <init_bundle.yaml> \1 -n <stackrox>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectlCLI を使用して、次のコマンドを実行してリソースを作成します。kubectl create namespace stackrox kubectl create -f <init_bundle.yaml> \ -n <stackrox>
$ kubectl create namespace stackrox1 $ kubectl create -f <init_bundle.yaml> \2 -n <stackrox>3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.2. CRS の生成 リンクのコピーリンクがクリップボードにコピーされました!
5.3.2.1. roxctl CLI を使用して CRS を生成する リンクのコピーリンクがクリップボードにコピーされました!
roxctl CLI を使用して、クラスター登録シークレットを作成できます。
CRS を作成するには、Admin ユーザーロールが必要です。
前提条件
ROX_API_TOKENおよびROX_CENTRAL_ADDRESS環境変数が設定されている。次のコマンドを実行して
ROX_API_TOKENを設定します。export ROX_API_TOKEN=<api_token>
$ export ROX_API_TOKEN=<api_token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ROX_CENTRAL_ADDRESS環境変数を設定します。export ROX_CENTRAL_ADDRESS=<address>:<port_number>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
CRS を生成するには、次のコマンドを実行します。
roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \ --output <file_name>
$ roxctl -e "$ROX_CENTRAL_ADDRESS" \ central crs generate <crs_name> \1 --output <file_name>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このファイルにはシークレットが含まれているため、セキュアに保管してください。同じファイルを使用して、複数のセキュアクラスターを設定できます。以前生成された CRS を取得することはできません。
このコマンドは、選択した出力に応じて CRS と YAML ファイルに関する INFO メッセージを返す場合があります。
出力例
5.3.2.2. セキュアクラスターにクラスター登録シークレット (CRS) を適用する リンクのコピーリンクがクリップボードにコピーされました!
セキュアクラスターを設定する前に、CRS をクラスターに適用する必要があります。CRS を適用すると、セキュアクラスター上のサービスは Central とセキュアに通信できるようになります。
Helm チャートを使用してインストールする場合は、この手順を実行しないでください。Helm を使用してインストールを完了してください。関連情報セクションの「Helm チャートを使用したセキュアクラスターへの RHACS のインストール」を参照してください。
前提条件
- CRS を生成した。
手順
リソースを作成するには、次の手順のいずれか 1 つだけを実行します。
-
OpenShift Container Platform Web コンソールを使用してリソースを作成します。OpenShift Container Platform Web コンソールで、
stackroxプロジェクト、またはセキュアクラスターサービスをインストールするプロジェクトに移動します。上部のメニューで + をクリックして、Import YAML ページを開きます。CRS ファイルをドラッグするか、その内容をコピーしてエディターにペーストし、Create をクリックします。コマンドが完了すると、cluster-registration-secretという名前のシークレットが作成されたことが画面に表示されます。 Red Hat OpenShift CLI を使用してリソースを作成する: Red Hat OpenShift CLI を使用して、次のコマンドを実行してリソースを作成します。
oc create -f <file_name.yaml> \ -n <stackrox>
$ oc create -f <file_name.yaml> \1 -n <stackrox>2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectlCLI を使用して、次のコマンドを実行してリソースを作成します。kubectl create namespace stackrox kubectl create -f <file_name.yaml> \ -n <stackrox>
$ kubectl create namespace stackrox1 $ kubectl create -f <file_name.yaml> \2 -n <stackrox>3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.3. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- 監視するすべてのクラスターに RHACS のセキュアクラスターサービスをインストールします。
5.4. 他のプラットフォームに RHACS のセキュアクラスターサービスをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次のプラットフォームのセキュアクラスターに Red Hat Advanced Cluster Security for Kubernetes (RHACS) をインストールできます。
- Amazon Elastic Kubernetes Service (Amazon EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (Microsoft AKS)
5.4.1. Helm チャートを使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートをカスタマイズせずに使用するか、デフォルト値を使用するか、設定パラメーターをカスタマイズして、セキュアクラスターに RHACS をインストールできます。
5.4.1.1. カスタマイズせずに Helm チャートを使用してセキュアクラスターに RHACS をインストールする リンクのコピーリンクがクリップボードにコピーされました!
5.4.1.1.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes の Helm リポジトリーには、次のようなさまざまなコンポーネントをインストールするための Helm チャートが含まれています。
集中型コンポーネント (Central および Scanner) をインストールするための Central サービス Helm チャート (
central-services)。注記集中型コンポーネントは 1 回だけデプロイします。同じインストールを使用して複数の別のクラスターを監視できます。
クラスターおよびノードごとのコンポーネント (Sensor、Admission Controller、Collector、および Scanner-slim) をインストールするためのセキュアクラスターサービスの Helm チャート (
secured-cluster-services)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.1.1.2. カスタマイズせずに secured-cluster-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順に従って、secured-cluster-services Helm チャートをインストールし、クラスターおよびノードごとのコンポーネント (Sensor、Admission コントローラー、Collector、および Scanner-slim) をデプロイします。
前提条件
- クラスター用に RHACS init バンドルまたは CRS を生成した。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスが必要です。
手順
OpenShift Container Platform クラスターで次のいずれかのコマンドを実行します。
init バンドルを使用している場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRS を使用している場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.1.2. カスタマイズした secured-cluster-services Helm チャートの設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、helm install および helm upgrade コマンドで使用できる Helm チャート設定パラメーターを説明します。これらのパラメーターは、--set オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。
secured-cluster-services Helm チャートを使用している間は、チャートの一部である values.yaml ファイルを変更しないでください。
5.4.1.2.1. 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| クラスターの名前です。 |
|
|
Central エンドポイントのアドレス。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
|
| ポート番号を含む Sensor エンドポイントのアドレスです。 |
|
| Sensor コンテナーのイメージプルポリシーです。 |
|
| Sensor が使用する内部サービス間の TLS 証明書です。 |
|
| Sensor が使用する内部サービス間 TLS 証明書キーです。 |
|
| Sensor コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Sensor コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
|
|
| Collector イメージの名前です。 |
|
| main イメージに使用しているレジストリーのアドレスです。 |
|
| Collector イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner DB イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 イメージに使用しているレジストリーのアドレスです。 |
|
| Scanner V4 DB イメージに使用しているレジストリーのアドレスです。 |
|
|
|
|
| Collector イメージのイメージプルポリシーです。 |
|
|
使用する |
|
|
使用する |
|
|
|
|
| Collector コンテナーのイメージプルポリシーです。 |
|
| Compliance コンテナーのイメージプルポリシーです。 |
|
|
|
|
| Collector コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance の CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Collector が使用する内部サービス間 TLS 証明書です。 |
|
| Collector が使用する内部サービス間 TLS 証明書キーです。 |
|
|
この設定は、ワークロード作成イベントの |
|
|
このパラメーターを |
|
|
この設定は、Kubernetes |
|
| この設定は、Red Hat Advanced Cluster Security for Kubernetes がポリシーを評価するかどうかを制御します。無効にすると、すべての AdmissionReview リクエストが自動的に承認されます。 |
|
|
この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、 |
|
|
このオプションを |
|
|
Admission コントローラーのバイパスを無効にするには、 |
|
|
このパラメーターを使用して、RHACS がアドミッションレビューをフェールオープンとしてマークするまで待機する必要がある最大秒数を指定します。タイムアウト期間の終了前にアドミッション Webhook が要求している情報を受信しない場合、アドミッション Webhook は失敗します。一方、フェールオープンステータスの場合も、操作の正常な実行は許可されます。たとえば、スキャンがタイムアウトし、デプロイメントがポリシーに違反しているかどうかを RHACS が判断できない場合でも、アドミッションコントローラーはデプロイメントの作成を許可します。リリース 4.5 以降、Red Hat は RHACS アドミッションコントローラー Webhook のデフォルトのタイムアウト設定を 20 秒から 10 秒に短縮しました。その結果、 |
|
| Admission Control コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
アドミッションコントローラー Webhook に特定の |
|
| Admission Control が使用する内部サービス間 TLS 証明書です。 |
|
| Admission Control が使用する内部サービス間 TLS 証明書キーです。 |
|
|
このパラメーターを使用して、デフォルトの |
|
|
|
|
|
|
|
|
|
|
|
非推奨。Collector のデプロイに slim Collector イメージを使用する場合は、 |
|
| Sensor のリソース仕様です。 |
|
| Admission コントローラーのリソース仕様です。 |
|
| Collector のリソース仕様です。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
|
このオプションを |
|
|
このオプションを |
|
|
このオプションを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 |
|
| Collector の Compliance コンテナーのリソース仕様です。 |
|
| このパラメーターを設定すると、Scanner のログレベルを変更できます。このオプションは、トラブルシューティングの目的でのみ使用してください。 |
|
|
このオプションを |
|
| 自動スケーリングのレプリカの最小数です。デフォルトは 2 です。 |
|
| 自動スケーリングのレプリカの最大数です。デフォルトは 5 です。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。 |
|
|
ノードセレクターのラベルを |
|
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。 |
|
| Scanner コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
| Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
|
このオプションを |
|
|
ネットワークレベルでセキュリティーを提供するために、RHACS はセキュアクラスターリソースがインストールされている namespace にデフォルトの 警告 デフォルトのネットワークポリシーの作成を無効にすると、RHACS コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
5.4.1.2.1.1. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Sensor および Admission コントローラーの環境変数は、次の形式で指定できます。
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize 設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
5.4.1.2.2. カスタマイズした secured-cluster-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml ファイルと values-private.yaml ファイルを設定したら、secured-cluster-services Helm チャートをインストールして、次のクラスターおよびノードごとのコンポーネントをデプロイします。
- Sensor
- Admission コントローラー
- Collector
- Scanner: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner DB: StackRox Scanner がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
- Scanner V4 Indexer および Scanner V4 DB: Scanner V4 がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Central サービスを公開するアドレスとポート番号が必要です。
手順
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
継続的インテグレーション (CI) システムを使用して secured-cluster-services Helm チャートをデプロイするには、init バンドル YAML ファイルを環境変数として helm install コマンドに渡します。
helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
- 1
- base64 でエンコードされた変数を使用している場合は、代わりに
helm install … -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode)コマンドを使用してください。
5.4.1.3. secured-cluster-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
secured-cluster-services Helm チャートをデプロイした後、設定オプションを変更できます。
helm upgrade コマンドを使用して変更を加える場合は、次のガイドラインと要件が適用されます。
-
--setまたは--set-fileパラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 新しいコンポーネントを有効にするなどの一部の変更では、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgradeコマンドで指定する必要があります。central-servicesHelm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
CA が Helm チャートの外部で生成されたものであり、
central-servicesチャートのインストール時にその CA を指定した場合は、helm upgradeコマンドを使用するときに、たとえばhelm upgradeコマンドで--reuse-valuesフラグを使用して、その操作を再度実行する必要があります。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
手順
-
values-public.yamlおよびvalues-private.yaml設定ファイルを新しい値で更新します。 helm upgradeコマンドを実行し、-fオプションを使用して設定ファイルを指定します。helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
$ helm upgrade -n stackrox \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --reuse-values \1 -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない値を変更した場合は、--reuse-valuesパラメーターを含めます。
5.4.2. roxctl CLI を使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用してセキュアクラスターに RHACS をインストールするには、次の手順を実行します。
-
roxctlCLI をインストールします。 - Sensor を取り付けます。
5.4.2.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
最初にバイナリーをダウンロードする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
5.4.2.1.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl CLI バイナリーをインストールできます。
Linux 用の roxctl CLI は、amd64、arm64、ppc64le、s390x アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Linux/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.2.1.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl CLI は、amd64 および arm64 アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctlアーキテクチャーを確認します。arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlCLI をダウンロードします。curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Darwin/roxctl${arch}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow roxctlバイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow PATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.2.1.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl CLI は、amd64 アーキテクチャーで使用できます。
手順
roxctlCLI をダウンロードします。curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exe
$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.8.6/bin/Windows/roxctl.exeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctlのバージョンを確認します。roxctl version
$ roxctl versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.2.2. Sensor のインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。このインストール方法は、マニフェストインストール方法とも呼ばれます。
マニフェストインストール方法を使用してインストールを実行するには、次の手順の いずれか 1 つだけ を実行します。
- RHACS Web ポータルを使用してクラスターバンドルをダウンロードし、Sensor スクリプトを展開して実行します。
-
roxctlCLI を使用して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、それを Central インスタンスに関連付けます。
前提条件
- Central サービスがすでにインストールされている。または、Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) で ACS インスタンス を選択すると、Central サービスにアクセスできます。
5.4.2.2.1. Web ポータルを使用したマニフェストインストール方法 リンクのコピーリンクがクリップボードにコピーされました!
手順
- セキュアクラスターの RHACS ポータルで、Platform Configuration → Clusters に移動します。
- Secure a cluster → Legacy installation method を選択します。
- クラスターの名前を指定します。
Sensor をデプロイする場所に基づいて、フィールドに適切な値を入力します。
- 同じクラスターに Sensor をデプロイする場合は、すべてのフィールドのデフォルト値を受け入れます。
-
別のクラスターにデプロイする場合は、
central.stackrox.svc:443を、他のクラスターからアクセス可能なロードバランサー、ノードポート、またはポート番号を含む他のアドレスに置き換えます。 HAProxy、AWS Application Load Balancer (ALB)、AWS Elastic Load Balancing (ELB) などの非 gRPC 対応のロードバランサーを使用している場合は、WebSocket Secure (
wss) プロトコルを使用してください。wssを使用するには:-
アドレスの前に
wss://を付けます。 -
アドレスの後にポート番号を追加します (例
wss://stackrox-central.example.com:443)。
-
アドレスの前に
- Next をクリックして、Sensor のセットアップを続行します。
Download YAML File and Keys をクリックして、クラスターバンドル (zip アーカイブ) をダウンロードします。
重要クラスターバンドルの zip アーカイブには、クラスターごとに固有の設定とキーが含まれています。同じファイルを別のクラスターで再利用しないでください。
監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから
sensorスクリプトを展開して実行します。unzip -d sensor sensor-<cluster_name>.zip
$ unzip -d sensor sensor-<cluster_name>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./sensor/sensor.sh
$ ./sensor/sensor.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
5.4.2.2.2. roxctl CLI を使用したマニフェストインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
以下のコマンドを実行して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、Central インスタンスに関連付けます。
roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT"
$ roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
--openshift-versionオプションでは、クラスターの主要な OpenShift Container Platform バージョン番号を指定します。たとえば、OpenShift Container Platform バージョン3.xの場合は3を指定し、OpenShift Container Platform バージョン4.xの場合は4を指定します。
監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから
sensorスクリプトを展開して実行します。unzip -d sensor sensor-<cluster_name>.zip
$ unzip -d sensor sensor-<cluster_name>.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow ./sensor/sensor.sh
$ ./sensor/sensor.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
検証
RHACS ポータルに戻り、デプロイメントが成功したかどうかを確認します。成功した場合、Platform Configuration → Clusters でクラスターのリストを表示すると、クラスターのステータスに緑色のチェックマークと Healthy ステータスが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。
Kubernetes で、次のコマンドを入力します。
kubectl get pod -n stackrox -w
$ kubectl get pod -n stackrox -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Finish をクリックしてウィンドウを閉じます。
インストール後、Sensor はセキュリティー情報の RHACS へのレポートを開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。
5.5. 他のプラットフォームでの RHACS のインストールの確認 リンクのコピーリンクがクリップボードにコピーされました!
RHACS が正しくインストールされていることを確認する手順を示します。
5.5.1. インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
インストールが完了したら、いくつかの脆弱なアプリケーションを実行し、RHACS ポータルに移動して、セキュリティー評価とポリシー違反の結果を評価します。
次のセクションにリストされているサンプルアプリケーションには重大な脆弱性が含まれており、Red Hat Advanced Cluster Security for Kubernetes のビルドおよびデプロイ時の評価機能を検証するように特別に設計されています。
インストールの検証
公開方法に基づいて RHACS ポータルのアドレスを見つけます。
ロードバランサーの場合。
kubectl get service central-loadbalancer -n stackrox
$ kubectl get service central-loadbalancer -n stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow port forward の場合:
以下のコマンドを実行します。
kubectl port-forward svc/central 18443:443 -n stackrox
$ kubectl port-forward svc/central 18443:443 -n stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
https://localhost:18443/に移動します。
新規の namespace を作成します。
kubectl create namespace test
$ kubectl create namespace testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重大な脆弱性を持ついくつかのアプリケーションを開始します。
kubectl run shell --labels=app=shellshock,team=test-team \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2014-6271 -n test kubectl run samba --labels=app=rce \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2017-7494 -n test
$ kubectl run shell --labels=app=shellshock,team=test-team \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2014-6271 -n test $ kubectl run samba --labels=app=rce \ --image=quay.io/stackrox-io/docs:example-vulnerables-cve-2017-7494 -n testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Security for Kubernetes は、これらのデプロイメントがクラスターに送信されるとすぐに、これらのデプロイメントを自動的にスキャンしてセキュリティーリスクとポリシー違反を検出します。違反を表示するには、RHACS ポータルにアクセスしてください。デフォルトのユーザー名 admin と生成されたパスワードを使用して RHACS ポータルにログインできます。
第6章 Red Hat Advanced Cluster Security for Kubernetes のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Security for Kubernetes をインストールすると、以下が作成されます。
-
Operator のインストール方法を選択した場合は、Operator がインストールされる
rhacs-operatorという namespace -
stackroxと呼ばれる namespace、または Central および SecuredCluster カスタムリソースを作成した別の namespace -
すべてのコンポーネントの
PodSecurityPolicyおよび Kubernetes ロールベースアクセス制御 (RBAC) オブジェクト - 生成されたネットワークポリシーで使用するための namespace の追加ラベル
- アプリケーションカスタムリソース定義 (CRD) (存在しない場合)
Red Hat Advanced Cluster Security for Kubernetes をアンインストールするには、これらのアイテムをすべて削除する必要があります。
6.1. namespace の削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成する namespace を削除できます。
手順
stackroxnamespace を削除します。OpenShift Container Platform
oc delete namespace stackrox
$ oc delete namespace stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes の場合:
kubectl delete namespace stackrox
$ kubectl delete namespace stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
別の namespace に RHACS をインストールした場合は、delete コマンドでその namespace の名前を使用してください。
6.2. グローバルリソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes (RHACS) が作成するグローバルリソースを削除できます。
手順
OpenShift Container Platform CLI を使用してグローバルリソースを削除するには、次の手順を実行します。
次のコマンドを実行して、StackRox 関連のクラスターロール、クラスターロールバインディング、ロール、ロールバインディング、および PSP をすべて取得し、削除します。
oc get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs oc delete --wait
$ oc get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs oc delete --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Pod セキュリティーポリシー (PSP) が非推奨になっているため、RHACS 4.4 以降のバージョンでは
error: the server doesn’t have a resource type "psp"というエラーメッセージが表示される場合があります。PSP は、Kubernetes の古いバージョンのクラスターを除き、Kubernetes バージョン 1.25 で削除されました。次のコマンドを実行して、
app.kubernetes.io/name=stackroxというラベルが付いたカスタム Security Context Constraints (SCC) を削除します。oc delete scc -l "app.kubernetes.io/name=stackrox"
$ oc delete scc -l "app.kubernetes.io/name=stackrox"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記RHACS 4.4 以降のバージョンでは、このラベルの付いたカスタム SCC が使用されなくなったため、
No resources foundエラーメッセージが表示される場合があります。次のコマンドを実行して、
stackroxという名前のValidatingWebhookConfigurationオブジェクトを削除します。oc delete ValidatingWebhookConfiguration stackrox
$ oc delete ValidatingWebhookConfiguration stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Kubernetes CLI を使用してグローバルリソースを削除するには、次の手順を実行します。
次のコマンドを実行して、StackRox 関連のクラスターロール、クラスターロールバインディング、ロール、ロールバインディング、および PSP をすべて取得し、削除します。
kubectl get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs kubectl delete --wait
$ kubectl get clusterrole,clusterrolebinding,role,rolebinding,psp -o name | grep stackrox | xargs kubectl delete --waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Pod セキュリティーポリシー (PSP) が非推奨になっているため、RHACS 4.4 以降のバージョンでは
error: the server doesn’t have a resource type "psp"というエラーメッセージが表示される場合があります。PSP は、Kubernetes の古いバージョンのクラスターを除き、Kubernetes バージョン 1.25 で削除されました。次のコマンドを実行して、
stackroxという名前のValidatingWebhookConfigurationオブジェクトを削除します。kubectl delete ValidatingWebhookConfiguration stackrox
$ kubectl delete ValidatingWebhookConfiguration stackroxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. ラベルとアノテーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform または Kubernetes コマンドラインインターフェイスを使用して、Red Hat Advanced Cluster Security for Kubernetes が作成するラベルとアノテーションを削除できます。
手順
ラベルとアノテーションを削除します。
OpenShift Container Platform
for namespace in $(oc get ns | tail -n +2 | awk '{print $1}'); do oc label namespace $namespace namespace.metadata.stackrox.io/id-; oc label namespace $namespace namespace.metadata.stackrox.io/name-; oc annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done$ for namespace in $(oc get ns | tail -n +2 | awk '{print $1}'); do oc label namespace $namespace namespace.metadata.stackrox.io/id-; oc label namespace $namespace namespace.metadata.stackrox.io/name-; oc annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes の場合:
for namespace in $(kubectl get ns | tail -n +2 | awk '{print $1}'); do kubectl label namespace $namespace namespace.metadata.stackrox.io/id-; kubectl label namespace $namespace namespace.metadata.stackrox.io/name-; kubectl annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; done$ for namespace in $(kubectl get ns | tail -n +2 | awk '{print $1}'); do kubectl label namespace $namespace namespace.metadata.stackrox.io/id-; kubectl label namespace $namespace namespace.metadata.stackrox.io/name-; kubectl annotate namespace $namespace modified-by.stackrox.io/namespace-label-patcher-; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow