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 ポータルにログインします。
-
セキュアクラスターがない場合は、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.yaml
Copy 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.yaml
Copy 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 コンソールで、
stackrox
namespace に移動します。上部のメニューで + をクリックして、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 kubectl
CLI を使用して、次のコマンドを実行してリソースを作成します。kubectl create namespace stackrox kubectl create -f <init_bundle.yaml> \ -n <stackrox>
$ kubectl create namespace stackrox
1 $ 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 kubectl
CLI を使用して、次のコマンドを実行してリソースを作成します。kubectl create namespace stackrox kubectl create -f <file_name.yaml> \ -n <stackrox>
$ kubectl create namespace stackrox
1 $ kubectl create -f <file_name.yaml> \
2 -n <stackrox>
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.3. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- 監視するすべてのクラスターに RHACS のセキュアクラスターサービスをインストールします。