検索

7.6. RHACS Cloud Service からのセキュアクラスターリソースのインストール

download PDF

Operator チャートまたは Helm チャートを使用して、セキュアクラスターに RHACS Cloud Service をインストールできます。roxctl CLI を使用してインストールすることもできますが、この方法を使用する必要がある特定のインストールニーズがないかぎり、この方法は使用しないでください。

前提条件

  • Red Hat OpenShift クラスターを作成し、そこに Operator をインストールした。
  • RHACS Cloud Service の ACS コンソールで、init バンドルを作成してダウンロードした。
  • oc create コマンドを使用して init バンドルを適用した。
  • インストール中に、アドレスとポート番号を含む Central API Endpoint をメモした。この情報を表示するには、クラウドコンソールのナビゲーションメニューから Advanced Cluster Security ACS Instances を選択し、作成した ACS インスタンスをクリックします。

7.6.1. Operator を使用したセキュアクラスターへの RHACS のインストール

7.6.1.1. セキュアクラスターサービスのインストール

Operator を使用してクラスターにセキュアクラスターサービスをインストールできます。これにより、SecuredCluster カスタムリソースが作成されます。セキュアクラスターサービスは、監視する環境内のすべてのクラスターにインストールする必要があります。

前提条件

  • OpenShift Container Platform を使用している場合は、バージョン 4.11 以降をインストールした。
  • 保護対象のクラスター (セキュアクラスターと呼ばれます) に RHACS Operator をインストールした。
  • init バンドルを生成し、クラスターに適用した。

手順

  1. セキュアクラスターの OpenShift Container Platform Web コンソールで、Operators Installed Operators ページに移動します。
  2. RHACS Operator をクリックします。
  3. Operator details ページの central ナビゲーションメニューから Secured Cluster をクリックします。
  4. Create SecuredCluster をクリックします。
  5. Configure via フィールドで次のいずれかのオプションを選択します。

    • Form view: 画面上のフィールドを使用してセキュアクラスターを設定する場合、および他のフィールドを変更する必要がない場合は、このオプションを使用します。
    • YAML view: このビューは、YAML ファイルを使用してセキュアクラスターをセットアップするために使用します。YAML ファイルがウィンドウに表示され、その中のフィールドを編集できます。このオプションを選択した場合、ファイルの編集が終了したら、Create をクリックします。
  6. Form view を使用している場合は、デフォルトの名前を受け入れるか編集して、新しいプロジェクト名を入力します。デフォルト値は stackrox-secured-cluster-services です。
  7. オプション: クラスターのラベルを追加します。
  8. SecuredCluster カスタムリソースの一意の名前を入力します。
  9. Central Endpoint には、Central インスタンスのアドレスとポート番号を入力します。たとえば、Central が https://central.example.com で利用できる場合は、central エンドポイントを central.example.com:443 として指定します。

    • RHACS Cloud Service の場合、アドレスとポート番号を含む Central API Endpoint を使用します。この情報を表示するには、クラウドコンソールのナビゲーションメニューから Advanced Cluster Security ACS Instances を選択し、作成した ACS インスタンスをクリックします。
    • Central がインストールされている同じクラスターにセキュアクラスターサービスをインストールする場合に のみ、デフォルト値 central.stackrox.svc:443 を使用します。
    • 複数のクラスターを設定する場合は、デフォルト値を使用しないでください。代わりに、各クラスターの Central Endpoint 値を設定するときにホスト名を使用します。
  10. 残りのフィールドについては、デフォルト値を受け入れるか、必要に応じてカスタム値を設定します。たとえば、カスタム証明書または信頼されていない CA を使用している場合は、TLS の設定が必要になる場合があります。詳細は、「Operator を使用した RHACS のセキュアクラスターサービスオプションの設定」を参照してください。
  11. Create をクリックします。
  12. 少し待った後、SecuredClusters ページに stackrox-secured-cluster-services のステータスが表示されます。次のような状態が表示される場合があります。

    • Conditions: Deployed, Initialized: セキュアクラスターサービスがインストールされており、セキュアクラスターが Central と通信しています。
    • Conditions: Initialized, Irreconcilable: セキュアクラスターが Central と通信していません。RHACS Web ポータルで作成した init バンドルがセキュアクラスターに適用されていることを確認してください。

次のステップ

  1. 追加のセキュアクラスター設定を設定します (オプション)。
  2. インストールの検証

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 バンドルを生成しておく必要があります。
  • Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。registry.redhat.io からイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
  • Central サービスを公開するアドレスとポート番号が必要です。

手順

  • Kubernetes ベースのクラスターで次のコマンドを実行します。

    $ 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 のアドレスとポート番号を指定します。例: acs.domain.com:443
    4
    Red Hat コンテナーレジストリー認証のプルシークレットのユーザー名を含めます。
    5
    Red Hat コンテナーレジストリー認証のプルシークレットのパスワードを含めます。
  • OpenShift Container Platform クラスターで以下のコマンドを実行します。

    $ 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=false 4
    1
    -f オプションを使用して、init バンドルのパスを指定します。
    2
    -f オプションを使用して、Red Hat コンテナーレジストリー認証用のプルシークレットのパスを指定します。
    3
    Central のアドレスとポート番号を指定します。例: acs.domain.com:443
    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. 設定パラメーター
パラメーター説明

clusterName

クラスターの名前です。

centralEndpoint

Central エンドポイントのアドレス (ポート番号を含む)。gRPC に対応していないロードバランサーを使用している場合は、エンドポイントアドレスの前に wss:// を付けて、WebSocket プロトコルを使用します。複数のクラスターを設定する場合は、アドレスにホスト名を使用します (例: central.example.com:443)。

sensor.endpoint

ポート番号を含む Sensor エンドポイントのアドレスです。

sensor.imagePullPolicy

Sensor コンテナーのイメージプルポリシーです。

sensor.serviceTLS.cert

Sensor が使用する内部サービス間の TLS 証明書です。

sensor.serviceTLS.key

Sensor が使用する内部サービス間 TLS 証明書キーです。

sensor.resources.requests.memory

Sensor コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

sensor.resources.requests.cpu

Sensor コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

sensor.resources.limits.memory

Sensor コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

sensor.resources.limits.cpu

Sensor コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

sensor.nodeSelector

ノードセレクターのラベルを label-key: label-value の形式で指定して、指定したラベルを持つノードでのみ Sensor をスケジュールするように強制します。

sensor.tolerations

ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Sensor の taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。

image.main.name

main イメージの名前です。

image.collector.name

Collector イメージの名前です。

image.main.registry

main イメージに使用しているレジストリーのアドレスです。

image.collector.registry

Collector イメージに使用しているレジストリーのアドレスです。

image.scanner.registry

Scanner イメージに使用しているレジストリーのアドレスです。

image.scannerDb.registry

Scanner DB イメージに使用しているレジストリーのアドレスです。

image.scannerV4.registry

Scanner V4 イメージに使用しているレジストリーのアドレスです。

image.scannerV4DB.registry

Scanner V4 DB イメージに使用しているレジストリーのアドレスです。

image.main.pullPolicy

main イメージのイメージプルポリシーです。

image.collector.pullPolicy

Collector イメージのイメージプルポリシーです。

image.main.tag

使用する main イメージのタグです。

image.collector.tag

使用する collector イメージのタグです。

collector.collectionMethod

CORE_BPFEBPF (非推奨)、NO_COLLECTION のいずれか。

collector.imagePullPolicy

Collector コンテナーのイメージプルポリシーです。

collector.complianceImagePullPolicy

Compliance コンテナーのイメージプルポリシーです。

collector.disableTaintTolerations

false を指定すると、許容値が Collector に適用され、Collector Pod は taint のあるすべてのノードにスケジュールできます。true として指定すると、許容値は適用されず、Collector Pod は taint のあるノードにスケジュールされません。

collector.resources.requests.memory

Collector コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.resources.requests.cpu

Collector コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.resources.limits.memory

Collector コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.resources.limits.cpu

Collector コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.complianceResources.requests.memory

Compliance コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.complianceResources.requests.cpu

Compliance の CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.complianceResources.limits.memory

Compliance コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.complianceResources.limits.cpu

Compliance コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

collector.serviceTLS.cert

Collector が使用する内部サービス間 TLS 証明書です。

collector.serviceTLS.key

Collector が使用する内部サービス間 TLS 証明書キーです。

admissionControl.listenOnCreates

この設定は、ワークロード作成イベントの AdmissionReview リクエストで Red Hat Advanced Cluster Security for Kubernetes に接続するように Kubernetes を設定するかどうかを制御します。

admissionControl.listenOnUpdates

このパラメーターを false に設定すると、Red Hat Advanced Cluster Security for Kubernetes は、Kubernetes API サーバーがオブジェクト更新イベントを送信しないようにする ValidatingWebhookConfiguration を作成します。オブジェクトの更新ボリュームは通常、オブジェクトが作成するボリュームよりも多いため、これを false のままにしておくと、アドミッションコントロールサービスのロードが制限され、アドミッションコントロールサービスが誤動作する可能性が低くなります。

admissionControl.listenOnEvents

この設定は、Kubernetes exec および portforward イベントの AdmissionReview リクエストで Red Hat Advanced Cluster Security for Kubernetes に接続するようにクラスターを設定するかどうかを制御します。RHACS は、OpenShift Container Platform 3.11 ではこの機能をサポートしていません。

admissionControl.dynamic.enforceOnCreates

この設定は、Red Hat Advanced Cluster Security for Kubernetes がポリシーを評価するかどうかを制御します。無効にすると、すべての AdmissionReview リクエストが自動的に承認されます。

admissionControl.dynamic.enforceOnUpdates

この設定は、アドミッションコントロールサービスの動作を制御します。これを機能させるには、listenOnUpdatestrue として指定する必要があります。

admissionControl.dynamic.scanInline

このオプションを true に設定すると、アドミッションコントロールサービスは、アドミッションデシジョンを行う前にイメージスキャンをリクエストします。イメージスキャンには数秒かかるため、このオプションを有効にするのは、クラスターで使用されるすべてのイメージがデプロイ前にスキャンされることを確認できる場合のみです (たとえば、イメージビルド中の CI 統合によって)。このオプションは、RHACS ポータルの Contact image scanners オプションに対応します。

admissionControl.dynamic.disableBypass

Admission コントローラーのバイパスを無効にするには、true に設定します。

admissionControl.dynamic.timeout

アドミッションレビューリクエストを評価する間、Red Hat Advanced Cluster Security for Kubernetes が待機する最大時間 (秒単位) です。これを使用して、イメージスキャンを有効にするときにリクエストのタイムアウトを設定します。イメージスキャンの実行時間が指定した時間より長い場合、Red Hat Advanced Cluster Security for Kubernetes はリクエストを受け入れます。

admissionControl.resources.requests.memory

Admission Control コンテナーのメモリーリクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

admissionControl.resources.requests.cpu

Admission Control コンテナーの CPU リクエストです。このパラメーターを使用して、デフォルト値をオーバーライドします。

admissionControl.resources.limits.memory

Admission Control コンテナーのメモリー制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

admissionControl.resources.limits.cpu

Admission Control コンテナーの CPU 制限です。このパラメーターを使用して、デフォルト値をオーバーライドします。

admissionControl.nodeSelector

ノードセレクターのラベルを label-key: label-value の形式で指定して、指定したラベルを持つノードでのみ Admission Control をスケジュールするように強制します。

admissionControl.tolerations

ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、アドミッションコントロールの taint toleration キー、値、および effect を指定します。このパラメーターは、主にインフラストラクチャーノードに使用されます。

admissionControl.serviceTLS.cert

Admission Control が使用する内部サービス間 TLS 証明書です。

admissionControl.serviceTLS.key

Admission Control が使用する内部サービス間 TLS 証明書キーです。

registryOverride

このパラメーターを使用して、デフォルトの docker.io レジストリーをオーバーライドします。他のレジストリーを使用している場合は、レジストリーの名前を指定してください。

collector.disableTaintTolerations

false を指定すると、許容値が Collector に適用され、Collector Pod は taint のあるすべてのノードにスケジュールできます。true として指定した場合、許容値は適用されず、Collector Pod は taint のあるノードにスケジュールされません。

createUpgraderServiceAccount

sensor-upgrader アカウントを作成するには、true を指定します。デフォルトでは、Red Hat Advanced Cluster Security for Kubernetes は、各セキュアクラスターに sensor-upgrader という名前のサービスアカウントを作成します。このアカウントは高い権限を持ちますが、アップグレードの時のみ使用されます。このアカウントを作成しない場合、Sensor に十分な権限がない場合は、将来のアップグレードを手動で完了する必要があります。

createSecrets

false を指定すると、Sensor、Collector、および Admission コントローラーのオーケストレーターシークレットの作成がスキップされます。

collector.slimMode

Collector のデプロイに slim Collector イメージを使用する場合は、true を指定します。EBPF 収集方法で slim Collector イメージを使用するには、対応する eBPF プローブを Central で提供する必要があります。Red Hat Advanced Cluster Security for Kubernetes をオフラインモードで実行している場合、slim Collector を機能させるために、stackrox.io からカーネルサポートパッケージをダウンロードして Central にアップロードする必要があります。それ以外の場合は、Central が https://collector-modules.stackrox.io/ でホストされているオンラインプローブリポジトリーにアクセスできることを確認する必要があります。

sensor.resources

Sensor のリソース仕様です。

admissionControl.resources

Admission コントローラーのリソース仕様です。

collector.resources

Collector のリソース仕様です。

collector.complianceResources

Collector の Compliance コンテナーのリソース仕様です。

exposeMonitoring

このオプションを true に設定すると、Red Hat Advanced Cluster Security for Kubernetes がポート番号 9090 で Sensor、Collector、および Admission コントローラーの Prometheus メトリクスエンドポイントを公開します。

auditLogs.disableCollection

このオプションを true に設定すると、Red Hat Advanced Cluster Security for Kubernetes が、設定マップとシークレットへのアクセスと変更を検出するために使用される監査ログ検出機能を無効にします。

scanner.disable

このオプションを false に設定すると、Red Hat Advanced Cluster Security for Kubernetes はセキュアなクラスターに Scanner-slim と Scanner DB をデプロイして、統合 OpenShift イメージレジストリーのイメージをスキャンできるようにします。Scanner-slim の有効化は、OpenShift Container Platform および Kubernetes セキュアクラスターでサポートされています。デフォルトは true です。

scanner.dbTolerations

ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。

scanner.replicas

Collector の Compliance コンテナーのリソース仕様です。

scanner.logLevel

このパラメーターを設定すると、Scanner のログレベルを変更できます。このオプションは、トラブルシューティングの目的でのみ使用してください。

scanner.autoscaling.disable

このオプションを true に設定すると、Red Hat Advanced Cluster Security for Kubernetes が Scanner デプロイメントでの自動スケーリングを無効にします。

scanner.autoscaling.minReplicas

自動スケーリングのレプリカの最小数です。デフォルトは 2 です。

scanner.autoscaling.maxReplicas

自動スケーリングのレプリカの最大数です。デフォルトは 5 です。

scanner.nodeSelector

ノードセレクターのラベルを label-key: label-value の形式で指定して、指定したラベルを持つノードでのみ Scanner をスケジュールするように強制します。

scanner.tolerations

ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner の taint toleration キー、値、および effect を指定します。

scanner.dbNodeSelector

ノードセレクターのラベルを label-key: label-value の形式で指定して、指定したラベルを持つノードでのみ Scanner DB をスケジュールするように強制します。

scanner.dbTolerations

ノードセレクターが taint されたノードを選択する場合は、このパラメーターを使用して、Scanner DB の taint toleration キー、値、および effect を指定します。

scanner.resources.requests.memory

Scanner コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.resources.requests.cpu

Scanner コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.resources.limits.memory

Scanner コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.resources.limits.cpu

Scanner コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.dbResources.requests.memory

Scanner DB コンテナーのメモリー要求。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.dbResources.requests.cpu

Scanner DB コンテナーの CPU 要求。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.dbResources.limits.memory

Scanner DB コンテナーのメモリー制限。このパラメーターを使用して、デフォルト値をオーバーライドします。

scanner.dbResources.limits.cpu

Scanner DB コンテナーの CPU 制限。このパラメーターを使用して、デフォルト値をオーバーライドします。

monitoring.openshift.enabled

このオプションを false に設定すると、Red Hat Advanced Cluster Security for Kubernetes が Red Hat OpenShift モニタリングをセットアップしません。Red Hat OpenShift 4 では、デフォルトで true に設定されます。

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 がインストールされている場合、必要に応じてセキュアクラスターにデプロイする
重要

Scanner V4 はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • クラスターの RHACS init バンドルを生成しておく必要があります。
  • Red Hat コンテナーレジストリーへのアクセス権と、認証用のプルシークレットが必要です。registry.redhat.io からイメージをダウンロードする方法は、Red Hat コンテナーレジストリーの認証 を参照してください。
  • Central サービスを公開するアドレスとポート番号が必要です。

手順

  • 以下のコマンドを実行します。

    $ 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
      --set imagePullSecrets.username=<username> \2
      --set imagePullSecrets.password=<password> 3
    1
    -f オプションを使用して、YAML 設定ファイルのパスを指定します。
    2
    Red Hat コンテナーレジストリー認証のプルシークレットのユーザー名を含めます。
    3
    Red Hat コンテナーレジストリー認証のプルシークレットのパスワードを含めます。
注記

継続的インテグレーション (CI) システムを使用して secured-cluster-services Helm チャートをデプロイするには、init バンドル YAML ファイルを環境変数として helm install コマンドに渡します。

$ helm install ... -f <(echo "$INIT_BUNDLE_YAML_SECRET") 1
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 パラメーターを使用して設定値を指定することもできます。ただし、これらのオプションは保存されないため、変更を加えるたびにすべてのオプションを手動で再度指定する必要があります。
  • 変更の内容によっては (たとえば 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 フラグを使用して、その操作を再度実行する必要があります。

手順

  1. values-public.yaml および values-private.yaml 設定ファイルを新しい値で更新します。
  2. 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 をインストールするには、次の手順を実行します。

  1. roxctl CLI をインストールします。
  2. 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 は、amd64ppcl64le、および s390x アーキテクチャーで使用できます。

手順

  1. ターゲットのオペレーティングシステムの roxctl アーキテクチャーを確認します。

    $ arch="$(uname -m | sed "s/x86_64//")"; arch="${arch:+-$arch}"
  2. roxctl CLI をダウンロードします。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Linux/roxctl${arch}"
  3. roxctl バイナリーを実行可能にします。

    $ chmod +x roxctl
  4. PATH 上にあるディレクトリーに roxctl バイナリーを配置します。

    PATH を確認するには、以下のコマンドを実行します。

    $ echo $PATH

検証

  • インストールした roxctl のバージョンを確認します。

    $ roxctl version
7.6.3.1.2. macOS への roxctl CLI のインストール

次の手順を使用して、roxctl CLI バイナリーを macOS にインストールできます。

注記

macOS 用の roxctl CLI は、amd64 アーキテクチャーで利用できます。

手順

  1. roxctl CLI をダウンロードします。

    $ curl -L -f -o roxctl "https://mirror.openshift.com/pub/rhacs/assets/4.4.5/bin/Darwin/roxctl${arch}"
  2. バイナリーからすべての拡張属性を削除します。

    $ xattr -c roxctl
  3. roxctl バイナリーを実行可能にします。

    $ chmod +x roxctl
  4. PATH 上にあるディレクトリーに roxctl バイナリーを配置します。

    PATH を確認するには、以下のコマンドを実行します。

    $ echo $PATH

検証

  • インストールした roxctl のバージョンを確認します。

    $ roxctl version
7.6.3.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

7.6.3.2. Sensor のインストール

クラスターをモニターするには、Sensor をデプロイする必要があります。モニターする各クラスターに Sensor をデプロイする必要があります。このインストール方法は、マニフェストインストール方法とも呼ばれます。

マニフェストインストール方法を使用してインストールを実行するには、次の手順の いずれか 1 つだけ を実行します。

  • RHACS Web ポータルを使用してクラスターバンドルをダウンロードし、Sensor スクリプトを展開して実行します。
  • roxctl CLI を使用して、OpenShift Container Platform クラスターに必要な Sensor 設定を生成し、それを Central インスタンスに関連付けます。

前提条件

  • Central サービスがすでにインストールされている。または、Red Hat Advanced Cluster Security Cloud Service (RHACS Cloud Service) で ACS インスタンス を選択すると、Central サービスにアクセスできます。
7.6.3.2.1. Web ポータルを使用したマニフェストインストール方法

手順

  1. セキュアクラスターの RHACS ポータルで、Platform Configuration Clusters に移動します。
  2. Secure a cluster Legacy installation method を選択します。
  3. クラスターの名前を指定します。
  4. 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)。
  5. Next をクリックして、Sensor のセットアップを続行します。
  6. Download YAML File and Keys をクリックして、クラスターバンドル (zip アーカイブ) をダウンロードします。

    重要

    クラスターバンドルの zip アーカイブには、クラスターごとに固有の設定とキーが含まれています。同じファイルを別のクラスターで再利用しないでください。

  7. 監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから sensor スクリプトを展開して実行します。

    $ unzip -d sensor sensor-<cluster_name>.zip
    $ ./sensor/sensor.sh

    Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。

Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。

7.6.3.2.2. roxctl CLI を使用したマニフェストインストール

手順

  1. 以下のコマンドを実行して、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 を指定します。
  2. 監視対象のクラスターにアクセスできるシステムで、クラスターバンドルから sensor スクリプトを展開して実行します。

    $ unzip -d sensor sensor-<cluster_name>.zip
    $ ./sensor/sensor.sh

    Sensor をデプロイするために必要な権限がないという警告が表示された場合は、画面の指示に従うか、クラスター管理者に連絡して支援を求めてください。

Sensor はデプロイされた後、Central に接続し、クラスター情報を提供します。

検証

  1. RHACS ポータルに戻り、デプロイメントが成功したかどうかを確認します。成功した場合、Platform Configuration Clusters でクラスターのリストを表示すると、クラスターのステータスに緑色のチェックマークと Healthy ステータスが表示されます。緑色のチェックマークが表示されない場合は、次のコマンドを使用して問題を確認してください。

    • OpenShift Container Platform で、次のコマンドを入力します。

      $ oc get pod -n stackrox -w
    • Kubernetes で、次のコマンドを入力します。

      $ kubectl get pod -n stackrox -w
  2. Finish をクリックしてウィンドウを閉じます。

インストール後、Sensor はセキュリティー情報の RHACS へのレポートを開始し、RHACS ポータルダッシュボードは、Sensor をインストールしたクラスターからのデプロイメント、イメージ、およびポリシー違反を表示し始めます。

7.6.4. 次のステップ

  • セキュアクラスターが ACS インスタンスと通信できることを確認して、インストールを検証 します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.