第5章 コンプライアンス Operator

5.1. コンプライアンス Operator リリースノート

コンプライアンス Operator を使用すると、OpenShift Container Platform 管理者はクラスターの必要なコンプライアンス状態を記述し、ギャップおよびそれらを修復する方法についての概要を提供します。

本書では、OpenShift Container Platform でのコンプライアンス Operator の開発を追跡します。

コンプライアンス Operator の概要については、「コンプライアンス Operator について」を参照してください。

5.1.1. OpenShift Compliance Operator 0.1.47

以下のアドバイザリーは OpenShift コンプライアンス Operator 0.1.47 で利用できます。

5.1.1.1. 新機能および改良された機能

  • コンプライアンス Operator は、PCI DSS(Payment Card Industry Data Security Standard)の以下のコンプライアンスベンチマークをサポートするようになりました。

    • ocp4-pci-dss
    • ocp4-pci-dss-node
  • FedRAMP モードレートの追加ルールおよび修復は OCP4-moderate、OCP4-moderate-node、および rhcos4-moderate プロファイルに追加されます。
  • KubeletConfig の修復がノードレベルのプロファイルで利用可能になりました。

5.1.1.2. バグ修正

  • 以前のバージョンでは、クラスターが OpenShift Container Platform 4.6 以前を実行している場合、USBGuard 関連のルールの修正は moderate プロファイルについて失敗しました。これは、コンプライアンス Operator によって作成された修復が、ドロップインディレクトリーをサポートしない古いバージョンの USBGuard をベースとしていたためです。USBGuard 関連のルールの無効な修復は、OpenShift Container Platform 4.6 を実行するクラスター用に作成されなくなりました。クラスターが OpenShift Container Platform 4.6 を使用している場合は、USBGuard 関連のルール用の修復を手動で作成する必要があります。

    さらに、修復は最小バージョンの要件を満たすルールに対してのみ作成されます。(BZ#1965511)

  • 以前のバージョンでは、修復をレンダリングする際に、コンプライアンス Operator は厳格でない正規表現を使用して修復が適切にフォーマットされていることを確認していました。そのため、sshd_config をレンダリングするものなど、一部の修復は正規表現チェックを渡さないため、作成されませんでした。正規表現は不要で、削除されることが見つかりました。修復が正しくレンダリングされるようになりました。(BZ#2033009)

5.1.2. OpenShift Compliance Operator 0.1.44

以下のアドバイザリーは OpenShift コンプライアンス Operator 0.1.44 で利用できます。

5.1.2.1. 新機能および改良された機能

  • 本リリースでは、strictNodeScan オプションが ComplianceScanComplianceSuite および ScanSetting CR に追加されました。このオプションは、以前の動作に一致する true で、スキャンがノードでスケジュールできない場合にエラーが生じていました。オプションを false に設定すると、コンプライアンス Operator はスキャンのスケジュールについてより許容されます。一時ノードが含まれる環境では、strictNodeScan の値を false に設定できます。これにより、クラスター内のノードの一部がスケジューリングで利用できていなくても、コンプライアンススキャンを続行できます。
  • ScanSetting オブジェクトの nodeSelector および tolerations 属性を設定して、結果サーバーのワークロードをスケジュールするために使用されるノードをカスタマイズできるようになりました。これらの属性は、ResultServer Pod を配置するために使用されます。以前のバージョンでは、nodeSelector および tolerations パラメーターはデフォルトで、コントロールプレーンノードのいずれかを選択し、node-role.kubernetes.io/master テイントを容認するためにデフォルト設定されていました。これは、コントロールプレーンノードが PV のマウントを許可しない環境で機能しませんでした。この機能により、ノードを選択し、それらの環境で異なるテイントを容認する方法が提供されます。
  • コンプライアンス Operator は KubeletConfig オブジェクトを修復できるようになりました。
  • エラーメッセージを含むコメントが追加され、コンテンツ開発者はフェッチできないオブジェクトとオブジェクトを区別できるようになりました。
  • ルールオブジェクトには、checkType および description の 2 つの新しい属性が含まれるようになりました。これらの属性により、ルールがノードチェックまたはプラットフォームのチェックに関連するかどうかを判断でき、ルールが機能する内容を確認することができます。
  • 今回の機能拡張により、カスタマイズしたプロファイルを作成するために既存のプロファイルを拡張するのに必要な要件が削除されました。つまり、Tail oredProfile CRD の extends フィールドは必須ではなくなりました。ルールオブジェクトの一覧を選択して、カスタマイズしたプロファイルを作成できるようになりました。compliance.openshift.io/product-type: アノテーションを設定するか、または TailoredProfile CR の -node 接尾辞を設定して、プロファイルがノードまたはプラットフォームに適用するかどうかを選択する必要があります。
  • 本リリースでは、コンプライアンス Operator はテイントに関係なく、すべてのノードでスキャンをスケジュールできるようになりました。以前のバージョンでは、スキャン Pod は node-role. kubernetes.io/master テイントのみを容認しました。ノードにカスタムテイントを使用するデプロイメントでは、スキャンがそれらのノードにスケジュールされませんでした。スキャン Pod はすべてのノードテイントを容認するようになりました。
  • 本リリースでは、コンプライアンス Operator は以下の North American Electric Reliability Corporation(NERC)セキュリティープロファイルをサポートします。

    • ocp4-nerc-cip
    • ocp4-nerc-cip-node
    • rhcos4-nerc-cip
  • 本リリースでは、コンプライアンス Operator は、Red Hat OpenShift(ノードレベル、ocp4-moderate-node、セキュリティープロファイル)の NIST 800-53 Moderate-Impact Baseline をサポートします。

5.1.2.2. テンプレート化および変数の使用

  • 本リリースでは、修復テンプレートは複数値変数を使用できるようになりました。
  • 今回の更新により、コンプライアンス Operator は、コンプライアンスプロファイルで設定される変数に基づいて修正を変更できるようになりました。これは、タイムアウト、NTP サーバーのホスト名、または同様のデプロイメント固有の値を含む修復に役立ちます。さらに、ComplianceCheckResult オブジェクトは、チェックが使用する変数を一覧表示するラベル compliance.openshift.io/check-has-value を使用するようになりました。

5.1.2.3. バグ修正

  • 以前のバージョンでは、スキャンの実行時に、Pod のスキャナーコンテナーのいずれかで予期しない終了が生じていました。本リリースでは、コンプライアンス Operator は最新の OpenSCAP バージョン 1.3.5 を使用してクラッシュを回避します。
  • 以前のバージョンでは、autoReplyRemediations を使用して修復を適用すると、クラスターノードの更新がトリガーされていました。これは、一部の修復に必要な入力変数をすべて含んでいる場合に中断しました。修復に 1 つ以上の必要な入力変数がない場合、これには NeedsReview の状態が割り当てられるようになりました。1 つ以上の修復が NeedsReview 状態にある場合、マシン設定プールは一時停止し続け、必要なすべての変数が設定されるまで修復は適用されません。これにより、ノードの中断を最小限に抑えるのに役立ちます。
  • Prometheus メトリクスに使用される RBAC ロールおよびロールバインディングが 'ClusterRole' および 'ClusterRoleBinding' に変更され、モニターがカスタマイズなしで機能するようにされます。
  • 以前のバージョンでは、プロファイルの解析中にエラーが発生した場合は、ルールまたは変数オブジェクトが削除され、プロファイルから削除されました。解析中にエラーが発生した場合、profileparser は、解析が完了するまでオブジェクトが削除されない一時的なアノテーションでオブジェクトにアノテーションを付けるようになりました。(BZ#1988259)
  • 以前のバージョンでは、タイトルまたは説明がカスタマイズしたプロファイルにない場合にエラーが発生していました。XCCDF 標準には、カスタマイズしたプロファイルに関するタイトルと説明が必要なため、タイトルと説明が TailoredProfile CR に設定する必要があるようになりました。
  • 以前のバージョンでは、カスタマイズしたプロファイルを使用する場合は、Tail oredProfile 変数の値は特定の選択セットのみを使用して設定できました。この制限は削除され、Tailor ed Profile 変数を any 値に設定できるようになりました。

5.1.3. コンプライアンス Operator 0.1.39 のリリースノート

以下のアドバイザリーは OpenShift コンプライアンス Operator 0.1.39 で利用できます。

5.1.3.1. 新機能および改良された機能

  • 以前のバージョンでは、コンプライアンス Operator は Payment Card Industry Data Security Standard(PCI DSS)参照を解析できませんでした。Operator は PCI DSS プロファイルに同梱されたコンプライアンスコンテンツを解析できるようになりました。
  • 以前のバージョンでは、コンプライアンス Operator は、適度プロファイルで AU-5 制御のルールを実行できませんでした。今回のリリースにより、パーミッションは Operator に追加され、これが Prometheusrules.monitoring.coreos.com オブジェクトを読み取り、適度プロファイルで AU-5 コントロールに一致するルールを実行できるようになりました。

5.1.4. 関連情報

コンプライアンス Operator について