4.5. 他のプラットフォームでの RHACS 用のセキュアなクラスターサービスのインストール
Red Hat Advanced Cluster Security Cloud Service は、Amazon Elastic Kubernetes Service (Amazon EKS)、Google Kubernetes Engine (Google GKE)、Microsoft Azure Kubernetes Service (Microsoft AKS) などのプラットフォーム用のセキュアなクラスターにインストールできます。
4.5.1. Helm チャートを使用したセキュアなクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートをカスタマイズせずに使用するか、デフォルト値を使用するか、設定パラメーターをカスタマイズして、セキュアなクラスターに RHACS をインストールできます。
4.5.1.1. カスタマイズせずに Helm チャートを使用して、セキュアなクラスターに RHACS をインストールする リンクのコピーリンクがクリップボードにコピーされました!
4.5.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) をインストールするためのセントラルサービス Helm チャート (
central-services
)。注記一元化されたコンポーネントを 1 回だけデプロイし、同じインストールを使用して複数の個別のクラスターをモニターできます。
クラスターごと (Sensor および Admission Controller) およびノードごと (Collector) のコンポーネントをインストールするための Secured Cluster Services Helm チャート (
secured-cluster-services
)。注記モニターする各クラスターにクラスターごとのコンポーネントをデプロイし、モニターするすべてのノードにノードごとのコンポーネントをデプロイします。
検証
次のコマンドを実行して、追加されたチャートリポジトリーを確認します。
helm search repo -l rhacs/
$ helm search repo -l rhacs/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.1.1.2. カスタマイズせずに secured-cluster-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、secured-cluster-services
Helm チャートをインストールし、クラスターごとおよびノードごとのコンポーネント (Sensor、アドミッションコントローラー、および Collector) をデプロイします。
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
- Central service を公開するアドレスとポート番号が必要です。
手順
Kubernetes ベースのクラスターで次のコマンドを実行します。
helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \ --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service>
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \
1 --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service>
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform クラスターで以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.1.2. カスタマイズによる secure-cluster-services Helm チャートの設定 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、helm install
および helm upgrade
コマンドで使用できる Helm チャート設定パラメーターについて説明します。これらのパラメーターは、--set
オプションを使用するか、YAML 設定ファイルを作成することで指定できます。
以下のファイルを作成して、Red Hat Advanced Cluster Security for Kubernetes をインストールするための Helm チャートを設定します。
-
パブリック設定ファイル
values-public.yaml
: このファイルを使用して、機密性の低いすべての設定オプションを保存します。 -
プライベート設定ファイル
values-private.yaml
: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルを安全に保管してください。
Download Helm Values File
Helm チャートを使用している間は、チャートの一部である values.yaml
ファイルを変更しないでください。
4.5.1.2.1. 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
パラメーター | 説明 |
---|---|
| クラスターの名前です。 |
|
Central エンドポイントのアドレス (ポート番号を含む)。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
| ポート番号を含む Sensor エンドポイントのアドレスです。 |
| Sensor コンテナーのイメージプルポリシーです。 |
| Sensor が使用する内部サービス間の TLS 証明書です。 |
| Sensor が使用する内部サービス間 TLS 証明書キーです。 |
| Sensor コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Sensor コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| センサーコンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
ノードセレクターラベルを |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
|
| Collector イメージの名前です。 |
| main イメージに使用しているレジストリーのアドレスです。 |
| Collector イメージに使用しているレジストリーのアドレスです。 |
|
|
| Collector イメージのイメージプルポリシーです。 |
|
使用する |
|
使用する |
|
|
| Collector コンテナーのイメージプルポリシーです。 |
| Compliance コンテナーのイメージプルポリシーです。 |
|
|
| Collector コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Collector コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Compliance コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Compliance の CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Collector が使用する内部サービス間 TLS 証明書です。 |
| Collector が使用する内部サービス間 TLS 証明書キーです。 |
|
この設定は、Kubernetes がワークロード作成イベントの |
|
このパラメーターを |
|
この設定は、クラスターが Kubernetes |
| この設定は、Red Hat Advanced Cluster Security for Kubernetes がポリシーを評価するかどうかを制御します。無効にすると、すべての AdmissionReview リクエストが自動的に受け入れられます。 |
|
この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、 |
|
このオプションを |
|
アドミッションコントローラーのバイパスを無効にするには、 |
| アドミッションレビューリクエストを評価する間、Red Hat Advanced Cluster Security for Kubernetes が待機する最大時間 (秒単位) です。これを使用して、イメージスキャンを有効にするときにリクエストのタイムアウトを設定します。イメージスキャンが指定された時間より長く実行される場合、Red Hat Advanced Cluster Security for Kubernetes はリクエストを受け入れます。 |
| Admission Control コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Admission Control コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
| Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
|
ノードセレクターラベルを |
| ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| Admission Control が使用する内部サービス間 TLS 証明書です。 |
| Admission Control が使用する内部サービス間 TLS 証明書キーです。 |
|
このパラメーターを使用して、デフォルトの |
|
|
|
|
|
|
|
Collector のデプロイにスリムな Collector イメージを使用する場合は、 |
| Sensor のリソース仕様です。 |
| アドミッションコントローラーのリソース仕様です。 |
| 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 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 |
4.5.1.2.1.1. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Sensor と、アドミッションコントローラーの環境変数は、次の形式で指定できます。
customize: envVars: ENV_VAR1: "value1" ENV_VAR2: "value2"
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize
設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
4.5.1.2.2. secure-cluster-services Helm チャートのインストール リンクのコピーリンクがクリップボードにコピーされました!
values-public.yaml
ファイルと values-private.yaml
ファイルを設定した後、secured-cluster-services
Helm チャートをインストールして、クラスターごと、およびノードごとのコンポーネント (Sensor、アドミッションコントローラー、Collector) をデプロイします。
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
- Central service を公開するアドレスとポート番号が必要です。
手順
以下のコマンドを実行します。
helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <name_of_cluster_init_bundle.yaml> \ -f <path_to_values_public.yaml> -f <path_to_values_private.yaml>
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <name_of_cluster_init_bundle.yaml> \ -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 設定ファイルのパスを指定します。
継続的インテグレーション (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.5.1.3. secure-cluster-services Helm チャートをデプロイした後の設定オプションの変更 リンクのコピーリンクがクリップボードにコピーされました!
secure-cluster-services
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
--reuse-values
パラメーターを指定する必要があります。指定しない場合、Helm upgrade コマンドは以前に設定されたすべての設定をリセットします。
注記--set
または--set-file
パラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
4.5.2. roxctl CLI を使用したセキュアなクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用してセキュアなクラスターに RHACS をインストールするには、次の手順を実行します。
-
roxctl
CLI をインストールします。 - Sensor を取り付けます。
4.5.2.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
最初にバイナリーをダウンロードする必要があります。roxctl
は、Linux、Windows、または macOS にインストールできます。
4.5.2.1.1. Linux への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、Linux に roxctl
CLI バイナリーをインストールできます。
手順
roxctl
CLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Linux/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Linux/roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
バイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctl
のバージョンを確認します。roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2.1.2. macOS への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl
CLI バイナリーを macOS にインストールできます。
手順
roxctl
CLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Darwin/roxctl
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Darwin/roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バイナリーからすべての拡張属性を削除します。
xattr -c roxctl
$ xattr -c roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roxctl
バイナリーを実行可能にします。chmod +x roxctl
$ chmod +x roxctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctl
のバージョンを確認します。roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2.1.3. Windows への roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
次の手順を使用して、roxctl
CLI バイナリーを Windows にインストールできます。
手順
roxctl
CLI の最新バージョンをダウンロードします。curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Windows/roxctl.exe
$ curl -O https://mirror.openshift.com/pub/rhacs/assets/3.73.5/bin/Windows/roxctl.exe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールした
roxctl
のバージョンを確認します。roxctl version
$ roxctl version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2.2. Sensor のインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。次の手順では、RHACS ポータルを使用して Sensor を追加する方法について説明します。
前提条件
- Central サービスがすでにインストールされている必要があります。または、Red Hat Advanced Cluster Security Cloud Service (ACSCS) で Central サービスにアクセスできます。
手順
-
RHACS ポータルで、Platform Configuration
Clusters に移動します。 - +NewCluster を選択します。
- クラスターの名前を指定します。
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>.zip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./sensor/sensor.sh
$ ./sensor/sensor.sh
Copy 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 -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Finish をクリックしてウィンドウを閉じます。
インストール後、Sensor はセキュリティー情報の RHACS へのレポートを開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。