7.6. RHACS Cloud Service からのセキュアクラスターリソースのインストール
Operator チャートまたは Helm チャートを使用して、セキュアクラスターに RHACS Cloud Service をインストールできます。roxctl CLI を使用してインストールすることもできますが、この方法を使用する必要がある特定のインストールニーズがないかぎり、この方法は使用しないでください。
前提条件
-
RHACS のインストール中に、Central インスタンス のアドレスを書き留めた。この情報を表示するには、クラウドコンソールのナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した ACS インスタンスをクリックします。 - Operator を使用してインストールする場合は、保護する Red Hat OpenShift クラスターを作成し、そのクラスター上に Operator をインストールした。
-
ACS コンソールまたは
roxctlCLI を使用して、init バンドルまたはクラスター登録シークレット (CRS) を作成してダウンロードした。 - Helm チャートを使用してインストールする場合を除き、保護するクラスターに init バンドルまたは CRS を適用した。
7.6.1. Operator を使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator を使用して RHACS をインストールするには、まず Operator をインストールし、次にそれを使用してセキュアクラスターに RHACS をインストールします。
7.6.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 有効化トグルを安定した状態に保つことを可能にするアノテーションです。
これらのアノテーションを変更したり削除したりしないでください。
7.6.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 コンソールで、Ecosystem
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に指定します。-
RHACS Cloud Service の場合は、Central API Endpoint のアドレスを使用します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。 -
Central がインストールされている同じクラスターにセキュアクラスターサービスをインストールする場合に のみ、デフォルト値
central.stackrox.svc:443を使用します。 - 複数のクラスターを設定する場合は、デフォルト値を使用しないでください。代わりに、各クラスターの Central Endpoint 値を設定するときにホスト名を使用します。
-
RHACS Cloud Service の場合は、Central API Endpoint のアドレスを使用します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
- 残りのフィールドでは、デフォルト値を受け入れるか、必要に応じてカスタム値を設定します。たとえば、カスタム証明書または信頼されていない CA を使用している場合は、TLS の設定が必要になる場合があります。詳細は、「Operator を使用した RHACS のセキュアクラスターサービスオプションの設定」を参照してください。
- Create をクリックします。
少し待った後、SecuredClusters ページに
stackrox-secured-cluster-servicesのステータスが表示されます。次のような状態が表示される場合があります。- Conditions: Deployed, Initialized: セキュアクラスターサービスがインストールされており、セキュアクラスターが Central と通信しています。
- Conditions: Initialized, Irreconcilable: セキュアクラスターが Central と通信していません。RHACS Web ポータルで作成した init バンドルがセキュアクラスターに適用されていることを確認してください。
次のステップ
- 追加のセキュアクラスター設定を設定します (オプション)。
- インストールの検証
7.6.2. Helm チャートを使用したセキュアクラスターへの RHACS Cloud Service のインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートをカスタマイズせずに使用するか、デフォルト値を使用するか、設定パラメーターをカスタマイズして、セキュアクラスターに RHACS をインストールできます。
最初に、Helm チャートリポジトリーを追加していることを確認します。
7.6.2.1. Helm チャートリポジトリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
RHACS チャートリポジトリーを追加します。
$ helm repo add rhacs https://mirror.openshift.com/pub/rhacs/charts/
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/
7.6.2.2. カスタマイズせずに Helm チャートを使用してセキュアクラスターに RHACS Cloud Service をインストールする リンクのコピーリンクがクリップボードにコピーされました!
7.6.2.2.1. カスタマイズせずに secured-cluster-services Helm チャートをインストールする リンクのコピーリンクがクリップボードにコピーされました!
次の手順に従って、secured-cluster-services Helm チャートをインストールし、クラスターおよびノードごとのコンポーネント (Sensor、Admission コントローラー、Collector、および Scanner-slim) をデプロイします。
前提条件
- クラスター用に RHACS init バンドルまたは CRS を生成した。
-
Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。
registry.redhat.ioからイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。 -
Central API Endpoint のアドレスが必要です。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した ACS インスタンスをクリックします。
手順
Kubernetes ベースのクラスターで次のいずれかのコマンドを実行します。
init バンドルを使用している場合は、次のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \1 -f <path_to_pull_secret.yaml> \2 --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service> \3 --set imagePullSecrets.username=<your redhat.com username> \4 --set imagePullSecrets.password=<your redhat.com password>5 - 1
-fオプションを使用して、init バンドルのパスを指定します。- 2
-fオプションを使用して、Red Hat コンテナーレジストリー認証用のプルシークレットのパスを指定します。- 3
- Central API Endpoint のアドレスを入力します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。 - 4
- Red Hat コンテナーレジストリー認証のプルシークレットのユーザー名を含めます。
- 5
- Red Hat コンテナーレジストリー認証のプルシークレットのパスワードを含めます。
手順
OpenShift Container Platform クラスターで次のいずれかのコマンドを実行します。
init バンドルを使用している場合は、次のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ -f <path_to_cluster_init_bundle.yaml> \1 -f <path_to_pull_secret.yaml> \2 --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service> \3 --set scanner.disable=false4 - 1
-fオプションを使用して、init バンドルのパスを指定します。- 2
-fオプションを使用して、Red Hat コンテナーレジストリー認証用のプルシークレットのパスを指定します。- 3
- Central API Endpoint のアドレスを入力します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。 - 4
scanner.disableパラメーターの値をfalseに設定します。これは、インストール中に Scanner-slim が有効になることを意味します。Kubernetes では、セキュアクラスターサービスに Scanner-slim が含まれるようになりました。
CRS を使用している場合は、次のコマンドを実行します。
$ helm install -n stackrox --create-namespace \ stackrox-secured-cluster-services rhacs/secured-cluster-services \ --set-file crs.file=<crs_file_name.yaml> \1 -f <path_to_pull_secret.yaml> \2 --set clusterName=<name_of_the_secured_cluster> \ --set centralEndpoint=<endpoint_of_central_service> \3 --set scanner.disable=false4 - 1
- 生成された CRS が保存されているファイルの名前を使用します。
- 2
-fオプションを使用して、Red Hat コンテナーレジストリー認証用のプルシークレットのパスを指定します。- 3
- Central API Endpoint のアドレスを入力します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。 - 4
scanner.disableパラメーターの値をfalseに設定します。これは、インストール中に Scanner-slim が有効になることを意味します。Kubernetes では、セキュアクラスターサービスに Scanner-slim が含まれるようになりました。
7.6.2.3. カスタマイズした 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 ファイルを変更しないでください。
7.6.2.3.1. 設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
| パラメーター | 説明 |
|---|---|
|
| クラスターの名前です。 |
|
|
Central エンドポイントのアドレス。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に |
|
|
TLS ハンドシェイク中に Application-Level Protocol Negotiation (ALPN) を適用するには、 |
|
| ポート番号を含む 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 証明書キーです。 |
|
|
このパラメーターは、適用が有効になっているポリシーを適用するようにアドミッションコントローラーが設定されているかどうかを決定します。RHACS 4.9 でデプロイされた新しいセキュアクラスターの場合、デフォルト値は |
|
|
RHACS 検証 Webhook の評価でエラーまたはタイムアウトが発生した場合に、API サーバー要求を許可するか (フェイルオープン)、ブロックするか (フェイルクローズ) を決定します。有効な値は |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
|
このパラメーターは非推奨となっています。RHACS はバージョン 4.9 への更新中にその値をチェックし、それを使用して新しい |
|
|
このパラメーターは非推奨となっています。RHACS はバージョン 4.9 への更新中にその値をチェックし、それを使用して新しい |
|
| このパラメーターは非推奨となったため、RHACS はその値を無視します。 |
|
|
アドミッションコントローラーのバイパスを無効にするには、このパラメーターを |
|
| このパラメーターを設定する機能は非推奨となりました。RHACS のタイムアウト期間には事前設定された値が使用されており、これを変更することはできません。このパラメーターは無視されます。 |
|
| 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 コンポーネント間の通信が切断される可能性があります。デフォルトポリシーの作成を無効にする場合は、この通信を許可するために独自のネットワークポリシーを作成する必要があります。 |
7.6.2.3.1.1. 環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Sensor および Admission コントローラーの環境変数は、次の形式で指定できます。
customize:
envVars:
ENV_VAR1: "value1"
ENV_VAR2: "value2"
customize 設定を使用すると、この Helm チャートによって作成されたすべてのオブジェクトのカスタム Kubernetes メタデータ (ラベルとアノテーション) と、ワークロードの追加の Pod ラベル、Pod アノテーション、コンテナー環境変数を指定できます。
より一般的なスコープ (たとえば、すべてのオブジェクト) で定義されたメタデータを、より狭いスコープ (たとえば、Sensor デプロイメントのみ) で定義されたメタデータでオーバーライドできるという意味で、設定は階層的です。
7.6.2.3.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 API Endpoint のアドレスが必要です。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。
手順
以下のコマンドを実行します。
$ 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> \1 -f <path_to_values_private.yaml> \2 --set imagePullSecrets.username=<username> \3 --set imagePullSecrets.password=<password>4
継続的インテグレーション (CI) システムを使用して secured-cluster-services Helm チャートをデプロイするには、init バンドル YAML ファイルを環境変数として helm install コマンドに渡します。
$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET")
- 1
- base64 でエンコードされた変数を使用している場合は、代わりに
helm install … -f <(echo "$INIT_BUNDLE_YAML_SECRET" | base64 --decode)コマンドを使用してください。
7.6.2.4. 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 \1 -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>- 1
values_public.yamlファイルとvalues_private.yamlファイルに含まれていない値を変更した場合は、--reuse-valuesパラメーターを含めます。
7.6.3. roxctl CLI を使用したセキュアクラスターへの RHACS のインストール リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用してセキュアクラスターに RHACS をインストールするには、次の手順を実行します。
-
roxctlCLI をインストールします。 - Sensor を取り付けます。
7.6.3.1. roxctl CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
最初にバイナリーをダウンロードする必要があります。roxctl は、Linux、Windows、または macOS にインストールできます。
7.6.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}"roxctlCLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.9.1/bin/Linux/roxctl${arch}"roxctlバイナリーを実行可能にします。$ chmod +x roxctlPATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctlのバージョンを確認します。$ roxctl version
7.6.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}"roxctlCLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.9.1/bin/Darwin/roxctl${arch}"バイナリーからすべての拡張属性を削除します。
$ xattr -c roxctlroxctlバイナリーを実行可能にします。$ chmod +x roxctlPATH上にあるディレクトリーにroxctlバイナリーを配置します。PATHを確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctlのバージョンを確認します。$ roxctl version
7.6.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.9.1/bin/Windows/roxctl.exe
検証
インストールした
roxctlのバージョンを確認します。$ roxctl version
7.6.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 サービスにアクセスできます。
7.6.3.2.1. Web ポータルを使用したマニフェストインストール方法 リンクのコピーリンクがクリップボードにコピーされました!
手順
-
セキュアクラスターの RHACS ポータルで、Platform Configuration
Clusters に移動します。 -
Secure a cluster
Legacy installation method を選択します。 - クラスターの名前を指定します。
Sensor をデプロイする場所に基づいて、フィールドに適切な値を入力します。
-
Central API Endpoint のアドレスを入力します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
ACS Instances を選択し、作成した RHACS インスタンスをクリックします。
-
Central API Endpoint のアドレスを入力します。この情報を表示するには、Red Hat Hybrid Cloud Console ナビゲーションメニューから Advanced Cluster Security
- Next をクリックして、Sensor のセットアップを続行します。
Download YAML File and Keys をクリックして、クラスターバンドル (zip アーカイブ) をダウンロードします。
重要クラスターバンドルの zip アーカイブには、クラスターごとに固有の設定とキーが含まれています。同じファイルを別のクラスターで再利用しないでください。
監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから
sensorスクリプトを展開して実行します。$ unzip -d sensor sensor-<cluster_name>.zip$ ./sensor/sensor.shSensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
7.6.3.2.2. roxctl CLI を使用したマニフェストインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
以下のコマンドを実行して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、Central インスタンスに関連付けます。
$ roxctl sensor generate openshift --openshift-version <ocp_version> --name <cluster_name> --central "$ROX_ENDPOINT"1 - 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$ ./sensor/sensor.shSensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。
Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。
検証
RHACS ポータルに戻り、デプロイメントが成功したかどうかを確認します。成功した場合、Platform Configuration
Clusters でクラスターのリストを表示すると、クラスターのステータスに緑色のチェックマークと Healthy ステータスが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。 OpenShift Container Platform で、次のコマンドを入力します。
$ oc get pod -n stackrox -wKubernetes で、次のコマンドを入力します。
$ kubectl get pod -n stackrox -w
- Finish をクリックしてウィンドウを閉じます。
インストール後、Sensor はセキュリティー情報の RHACS へのレポートを開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。
7.6.4. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- セキュアクラスターが ACS インスタンスと通信できることを確認して、インストールを検証 します。