5.4. 他のプラットフォームでの RHACS 用のセキュアなクラスターサービスのインストール
RHACS は、Amazon Elastic Kubernetes Service (Amazon EKS)、Google Kubernetes Engine (Google 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 チャートをインストールする
							次の手順に従って、secure-cluster-services Helm チャートをインストールし、クラスターおよびノードごとのコンポーネント (Sensor、Admission controller、Collector、および Scanner-slim) をデプロイします。
						
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
- 
									Red Hat Container Registry へのアクセス権と、認証用のプルシークレットが必要です。registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
- Central サービスを公開するアドレスとポート番号が必要です。
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: このファイルを使用して、機密性の高いすべての設定オプションを保存します。このファイルはセキュアに保管してください。
							Download Helm Values File 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 イメージに使用しているレジストリーのアドレスです。 | 
| 
											 | 
											 | 
| 
											 | 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 リクエストが自動的に受け入れられます。 | 
| 
											 | 
											この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、 | 
| 
											 | 
											このオプションを  | 
| 
											 | 
											Admission controller のバイパスを無効にするには、 | 
| 
											 | アドミッションレビューリクエストを評価する間、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 のデプロイに slim Collector イメージを使用する場合は、 | 
| 
											 | Sensor のリソース仕様です。 | 
| 
											 | Admission controller のリソース仕様です。 | 
| 
											 | 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 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。 | 
| 
											 | 
											このオプションを  | 
5.4.1.2.1.1. 環境変数
Sensor および Admission controller の環境変数は、次の形式で指定できます。
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 チャートのインストール
							value-public.yaml ファイルと values-private.yaml ファイルを設定した後、secure-cluster-services Helm チャートをインストールして、クラスターごとおよびノードごとのコンポーネント (Sensor、Admission controller、Collector、および Scanner-slim) をデプロイします。
						
Unified Extensible Firmware Interface (UEFI) があり、Secure Boot が有効になっているシステムに Collector をインストールするには、カーネルモジュールが署名されておらず、UEFI ファームウェアが署名されていないパッケージをロードできないため、eBPF プローブを使用する必要があります。Collector は、開始時に Secure Boot ステータスを識別し、必要に応じて eBPF プローブに切り替えます。
前提条件
- クラスターの RHACS init バンドルを生成しておく必要があります。
- 
									Red Hat Container Registry へのアクセス権と、認証用のプルシークレットが必要です。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 チャートをデプロイした後の設定オプションの変更
						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パラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
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、ppcl64le、および 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 -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.3.8/bin/Linux/roxctl${arch}"- $ curl -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.3.8/bin/Linux/roxctl${arch}"- 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 
5.4.2.1.2. macOS への roxctl CLI のインストール
							次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。
						
								macOS 用の roxctl CLI は、amd64 アーキテクチャーで利用できます。
							
手順
- roxctlCLI をダウンロードします。- curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.3.8/bin/Darwin/roxctl - $ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.3.8/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 
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.3.8/bin/Windows/roxctl.exe - $ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.3.8/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 
5.4.2.2. Sensor のインストール
クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。次の手順では、RHACS ポータルを使用して Sensor を追加する方法について説明します。
前提条件
- Central サービスをすでにインストールしている必要があります。または、Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) で ACS インスタンス を選択して 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 ステータスが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。 - OpenShift Container Platform で、次のコマンドを入力します。 - oc get pod -n stackrox -w - $ oc get pod -n stackrox -w- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 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 をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。