5.8. 高度なコンプライアンス Operator タスクの実行

コンプライアンス Operator には、デバッグや既存のツールとの統合を目的とする上級ユーザー向けのオプションが含まれます。

5.8.1. ComplianceSuite オブジェクトおよび ComplianceScan オブジェクトの直接使用

ユーザーは ScanSetting および ScanSettingBinding オブジェクトを利用してスイートおよびスキャンを定義することが推奨されますが、 ComplianceSuite オブジェクトを直接定義する有効なユースケースもあります。

  • スキャンする単一ルールのみを指定する。これは、デバッグモードが非常に詳細な情報を取得する可能性があるため、debug: true 属性を使用してデバッグする際に役立ちます。これにより、OpenSCAP スキャナーの詳細度が上がります。テストを 1 つのルールに制限すると、デバッグ情報の量を減らすことができます。
  • カスタム nodeSelector を指定する。修復を適用可能にするには、nodeSelector はプールと一致する必要があります。
  • テーラリングファイルでスキャンをカスタム設定マップをポイントする。
  • テストまたは開発目的の場合で、バンドルからのプロファイルの解析に伴うオーバーヘッドが不要な場合。

以下の例は、単一のルールのみでワーカーマシンをスキャンする ComplianceSuite を示しています。

apiVersion: compliance.openshift.io/v1alpha1
kind: ComplianceSuite
metadata:
  name: workers-compliancesuite
spec:
  scans:
    - name: workers-scan
      profile: xccdf_org.ssgproject.content_profile_moderate
      content: ssg-rhcos4-ds.xml
      contentImage: quay.io/complianceascode/ocp4:latest
      debug: true
      rule: xccdf_org.ssgproject.content_rule_no_direct_root_logins
      nodeSelector:
      node-role.kubernetes.io/worker: ""

上記の ComplianceSuite オブジェクトおよび ComplianceScan オブジェクトは、OpenSCAP が想定する形式で複数の属性を指定します。

プロファイル、コンテンツ、またはルールの値を見つけるには、最初に ScanSetting および ScanSettingBinding から同様の Suite を作成して開始するか、またはルールやプロファイルなどの ProfileBundle オブジェクトから解析されたオブジェクトを検査することができます。これらのオブジェクトには、ComplianceSuite から参照するために使用できる xccdf_org 識別子が含まれます。