5.2. 他のプラットフォームに RHACS の Central サービスをインストールする
Central は、RHACS アプリケーション管理インターフェイスとサービスを含むリソースです。データの永続性、API インタラクション、および RHACS ポータルアクセスを処理します。同じ Central インスタンスを使用して、複数の OpenShift Container Platform または Kubernetes クラスターを保護できます。
次のいずれかの方法を使用して、Central をインストールできます。
- Helm チャートを使用してインストールする
-
roxctl
CLI を使用してインストールします (この方法を使用する必要がある特定のインストールが必要でない限り、この方法は使用しないでください)。
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/
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/
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> \1 --set imagePullSecrets.password=<password> \2 --set central.exposure.route.enabled=true
または、次のコマンドを実行して Central services をインストールし、ロードバランサーを使用して Central を公開します。
$ 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=true
または、次のコマンドを実行して Central services をインストールし、port forward を使用して Central を公開します。
$ helm install -n stackrox \ --create-namespace stackrox-central-services rhacs/central-services \ --set imagePullSecrets.username=<username> \1 --set imagePullSecrets.password=<password> 2
外部サービスに接続するためにプロキシーが必要なクラスターに Red Hat Cluster Security for Kubernetes をインストールする場合は、
proxyConfig
パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。env: proxyConfig: | url: http://proxy.name:port username: username password: password excludes: - some.domain
-
インストール先の 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.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
パラメーターを使用してプロキシー設定を指定する必要があります。以下に例を示します。
env: proxyConfig: | url: http://proxy.name:port username: username password: password excludes: - some.domain
パラメーター | 説明 |
---|---|
| プロキシー設定。 |
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 DB の接続パスワード。 |
| RHACS にログインするための管理者パスワード。 |
| RHACS にログインするための管理者パスワード。このパスワードは、bcrypt を使用してハッシュ形式で保存されます。 |
| Central DB サービスが Central DB をデプロイするために使用する内部証明書。 |
| Central DB サービスが使用する内部証明書の秘密キー。 |
| Central DB への接続に使用されるパスワード。 |
central.adminPassword.htpasswd
パラメーターを使用している場合は、bcrypt でエンコードされたパスワードハッシュを使用する必要があります。コマンド htpasswd -nB admin
を実行して、パスワードハッシュを生成できます。以下に例を示します。
htpasswd: | admin:<bcrypt-hash>
5.2.1.2.1.4. Scanner
StackRox Scanner および Scanner V4 (テクノロジープレビュー) の設定可能なパラメーター。
Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
新規インストールの場合、次のパラメーターをスキップでき、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. 環境変数
Red Hat Advanced Cluster Security for Kubernetes は、クラスター環境を自動的に検出し、env.openshift
、env.istio
、および env.platform
の値を設定します。クラスター環境の自動検出をオーバーライドするには、これらの値のみを設定してください。
パラメーター | 説明 |
---|---|
|
OpenShift Container Platform クラスターにインストールし、クラスター環境の自動検出をオーバーライドする場合は、 |
|
|
|
RHACS をインストールするプラットフォーム。その値を |
|
RHACS をオフラインモードで使用するには |
5.2.1.2.2.4. 追加の信頼された認証局
RHACS は、信頼するシステムルート証明書を自動的に参照します。Central、StackRox Scanner、または Scanner V4 が、組織内の機関またはグローバルに信頼されているパートナー組織によって発行された証明書を使用するサービスにアクセスする必要がある場合、次のパラメーターを使用して信頼するルート認証局を指定することにより、これらのサービスの信頼を追加できます。
パラメーター | 説明 |
---|---|
| 信頼するルート認証局の PEM エンコード証明書を指定します。 |
5.2.1.2.2.5. Central
Central の設定可能なパラメーター。
-
hostPath
またはpersistentVolumeClaim
のいずれかとして永続ストレージオプションを指定する必要があります。 -
外部アクセス用の 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 制限。 |
| RHACS がデータベースボリュームを作成するノード上のパス。Red Hat はこのオプションの使用を推奨していません。 |
| 使用している永続ボリューム要求 (PVC) の名前です。 |
|
新しい PVC を作成するには |
| 指定された要求によるマネージドの永続ボリュームのサイズ (GiB 単位) です。 |
|
ロードバランサーを使用して Central を公開するには、 |
| Central を公開するポート番号です。デフォルトのポート番号は 443 です。 |
|
|
| Central を公開するポート番号です。このパラメーターをスキップすると、OpenShift Container Platform は自動的にポート番号を割り当てます。Red Hat では、ノードポートを使用して RHACS を公開する場合、ポート番号を指定しないことを推奨しています。 |
|
ルートを使用して Central を公開するには、 |
|
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.6. StackRox Scanner
次の表に、StackRox Scanner の設定可能なパラメーターを示します。これは、ノードとプラットフォームのスキャンに使用されるスキャナーです。Scanner V4 が有効になっていない場合、StackRox Scanner はイメージのスキャンも実行します。バージョン 4.4 以降は、Scanner V4 を有効にしてイメージのスキャンを行うことができます。Scanner V4 のパラメーターについては、次の表を参照してください。
パラメーター | 説明 |
---|---|
|
StackRox Scanner なしで RHACS をインストールするには、 |
|
ポート番号 |
|
StackRox Scanner デプロイメント用に作成するレプリカの数。 |
|
StackRox Scanner のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、StackRox Scanner のテイントの容認キー、値、および 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 のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
5.2.1.2.2.7. Scanner V4
次の表に、Scanner V4 の設定可能なパラメーターを示します。
Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
パラメーター | 説明 |
---|---|
|
Scanner V4 の永続データを管理する PVC の名前。指定した名前の PVC が存在しない場合は、PVC が作成されます。設定されていない場合、デフォルト値は |
|
Scanner V4 を有効にするには |
|
Scanner V4 の Prometheus メトリクスエンドポイントをポート番号 |
|
Scanner V4 Indexer デプロイメント用に作成するレプリカの数。 |
|
Scanner V4 Indexer のログレベルを設定します。Red Hat では、デフォルトのログレベル値 ( |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 Indexer のテイントの容認キー、値、および 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 のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
|
Scanner V4 Matcher デプロイメントの自動スケーリングを無効にするには、 |
| 自動スケーリングのレプリカの最小数です。 |
| 自動スケーリングのレプリカの最大数です。 |
| Scanner V4 Matcher のメモリー要求。 |
| Scanner V4 Matcher の CPU 要求。 |
| Scanner V4 データベースデプロイメントのメモリー要求。 |
| Scanner V4 データベースデプロイメントの CPU 要求。 |
| Scanner V4 データベースデプロイメントのメモリー制限。 |
| Scanner V4 データベースデプロイメントの CPU 制限。 |
|
ノードセレクターのラベルを |
| ノードセレクターがテイントされたノードを選択する場合は、このパラメーターを使用して、Scanner V4 DB のテイントの容認キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。 |
| Scanner V4 DB イメージのカスタムレジストリー。 |
|
デフォルトの Scanner V4 DB イメージ名 ( |
| Scanner V4 イメージのカスタムレジストリー。 |
|
デフォルトの Scanner V4 イメージ名 ( |
5.2.1.2.2.8. カスタマイズ
以下のパラメーターを使用して、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.9. 高度なカスタマイズ
このセクションで指定されているパラメーターは、情報提供のみを目的としています。Red Hat は、namespace やリリース名が変更された RHACS インスタンスをサポートしません。
パラメーター | 説明 |
---|---|
|
RHACS をデフォルトの |
|
デフォルトの |
5.2.1.2.3. 宣言的な設定値
宣言型設定を使用するには、宣言型設定マウントを Central に追加する YAML ファイル (この例では "declarative-config-values.yaml" という名前) を作成する必要があります。このファイルは Helm インストールで使用されます。
手順
次の例をガイドラインとして使用して、YAML ファイル (この例では
declarative-config-values.yaml
という名前) を作成します。central: declarativeConfiguration: mounts: configMaps: - declarative-configs secrets: - sensitive-declarative-configs
-
「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> 1
- 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
パラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。 変更の内容によっては (たとえば Scanner V4 などの新しいコンポーネントを有効にした場合は)、コンポーネントに対して新しい証明書を発行する必要があります。したがって、これらの変更を行う場合は CA を指定する必要があります。
重要Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
CA が初期インストール中に Helm チャートによって生成された場合は、自動的に生成された該当する値をクラスターから取得し、
helm upgrade
コマンドで指定する必要があります。central-services
Helm チャートのインストール後の注記に、自動生成された値を取得するためのコマンドが含まれています。 -
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-central-services rhacs/central-services \ --reuse-values \1 -f <path_to_init_bundle_file \ -f <path_to_values_public.yaml> \ -f <path_to_values_private.yaml>
- 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
、ppcl64le
、および s390x
アーキテクチャーで使用できます。
手順
ターゲットのオペレーティングシステムの
roxctl
アーキテクチャーを確認します。$ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
roxctl
CLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Linux/roxctl${arch}"
roxctl
バイナリーを実行可能にします。$ chmod +x roxctl
PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
5.2.2.1.2. macOS への roxctl CLI のインストール
次の手順を使用して、roxctl
CLI バイナリーを macOS にインストールできます。
macOS 用の roxctl
CLI は、amd64
アーキテクチャーで利用できます。
手順
roxctl
CLI をダウンロードします。$ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Darwin/roxctl${arch}"
バイナリーからすべての拡張属性を削除します。
$ xattr -c roxctl
roxctl
バイナリーを実行可能にします。$ chmod +x roxctl
PATH
上にあるディレクトリーにroxctl
バイナリーを配置します。PATH
を確認するには、以下のコマンドを実行します。$ echo $PATH
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
5.2.2.1.3. Windows への roxctl CLI のインストール
次の手順を使用して、roxctl
CLI バイナリーを Windows にインストールできます。
Windows 用の roxctl
CLI は、amd64
アーキテクチャーで使用できます。
手順
roxctl
CLI をダウンロードします。$ curl -f -O https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Windows/roxctl.exe
検証
インストールした
roxctl
のバージョンを確認します。$ roxctl version
5.2.2.2. 対話型インストーラーの使用
対話型インストーラーを使用して、お使いの環境に必要なシークレット、デプロイメント設定、およびデプロイメントスクリプトを生成します。
手順
対話型インストールコマンドを実行します。
$ roxctl central generate interactive
重要roxctl
CLI を使用して 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 を押してプロンプトのデフォルト値を受け入れるか、必要に応じてカスタム値を入力します。次の例は、対話型インストーラーのプロンプトを示しています。
Enter path to the backup bundle from which to restore keys and certificates (optional): Enter read templates from local filesystem (default: "false"): Enter path to helm templates on your local filesystem (default: "/path"): Enter PEM cert bundle file (optional): 1 Enter Create PodSecurityPolicy resources (for pre-v1.25 Kubernetes) (default: "true"): 2 Enter administrator password (default: autogenerated): Enter orchestrator (k8s, openshift): Enter default container images settings (development_build, stackrox.io, rhacs, opensource); it controls repositories from where to download the images, image names and tags format (default: "development_build"): Enter the directory to output the deployment bundle to (default: "central-bundle"): Enter the OpenShift major version (3 or 4) to deploy on (default: "0"): Enter whether to enable telemetry (default: "false"): Enter central-db image to use (if unset, a default will be used according to --image-defaults): Enter Istio version when deploying into an Istio-enabled cluster (leave empty when not running Istio) (optional): Enter the method of exposing Central (route, lb, np, none) (default: "none"): 3 Enter main image to use (if unset, a default will be used according to --image-defaults): Enter whether to run StackRox in offline mode, which avoids reaching out to the Internet (default: "false"): Enter list of secrets to add as declarative configuration mounts in central (default: "[]"): 4 Enter list of config maps to add as declarative configuration mounts in central (default: "[]"): 5 Enter the deployment tool to use (kubectl, helm, helm-values) (default: "kubectl"): Enter scanner-db image to use (if unset, a default will be used according to --image-defaults): Enter scanner image to use (if unset, a default will be used according to --image-defaults): Enter Central volume type (hostpath, pvc): 6 Enter external volume name for Central (default: "stackrox-db"): Enter external volume size in Gi for Central (default: "100"): Enter storage class name for Central (optional if you have a default StorageClass configured): Enter external volume name for Central DB (default: "central-db"): Enter external volume size in Gi for Central DB (default: "100"): Enter storage class name for Central DB (optional if you have a default StorageClass configured):
- 1
- カスタム TLS 証明書を追加する場合は、PEM でエンコードされた証明書のファイルパスを指定します。カスタム証明書を指定すると、対話型インストーラーは、使用しているカスタム証明書の PEM 秘密鍵を提供するように要求します。
- 2
- Kubernetes バージョン 1.25 以降を実行している場合は、この値を
false
に設定します。 - 3
- RHACS ポータルを使用するには、ルート、ロードバランサー、またはノードポートを使用して Central を公開する必要があります。
- 4
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 5
- 認証と認可に宣言型設定を使用する方法の詳細は、「Red Hat Advanced Cluster Security for Kubernetes での RBAC の管理」の「認証および認可リソースの宣言型設定」を参照してください。
- 6
- hostPath ボリュームを使用して OpenShift Container Platform に Red Hat Cluster Security for Kubernetes をインストールする場合は、SELinux ポリシーを変更する必要があります。
警告OpenShift Container Platform で、hostPath ボリュームを使用するには、SELinux ポリシーを変更して、ホストとコンテナーが共有するディレクトリーへのアクセスを許可する必要があります。これは、SELinux がデフォルトでディレクトリー共有をブロックしているためです。SELinux ポリシーを変更するには、次のコマンドを実行します。
$ sudo chcon -Rt svirt_sandbox_file_t <full_volume_path>
ただし、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
必要なリソースを作成します。
$ oc create -R -f central-bundle/central
デプロイメントの進行状況を確認します。
$ oc get pod -n stackrox -w
Central の実行後、RHACS ポータルの IP アドレスを見つけて、ブラウザーで開きます。プロンプトに応答するときに選択した公開方法に応じて、次のいずれかの方法を使用して IP アドレスを取得します。
公開方法 コマンド 住所 例 ルート
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-loadbalancer
EXTERNAL-IP、またはポート 443 でサービスに表示されるホスト名
https://192.0.2.0
なし
central-bundle/central/scripts/port-forward.sh 8443
https://localhost:8443
https://localhost:8443
対話型インストール中に自動生成されたパスワードを選択した場合は、次のコマンドを実行して、Central にログインするためのパスワードを確認できます。
$ cat central-bundle/password