5.8. コンプライアンス Operator の未加工の結果の取得

OpenShift Container Platform クラスターのコンプライアンスを証明する際に、監査目的でスキャンの結果を提供する必要がある場合があります。

5.8.1. 永続ボリュームからのコンプライアンス Operator の未加工の結果の取得

手順

コンプライアンス Operator は、未加工の結果を生成し、これを永続ボリュームに保存します。これらの結果は Asset Reporting Format (ARF) で生成されます。

  1. ComplianceSuite オブジェクトを確認します。

    $ oc get compliancesuites nist-moderate-modified -o json \
        | jq '.status.scanStatuses[].resultsStorage'
        {
          "name": "rhcos4-moderate-worker",
          "namespace": "openshift-compliance"
        }
        {
          "name": "rhcos4-moderate-master",
          "namespace": "openshift-compliance"
        }

    これは、未加工の結果にアクセスできる永続ボリューム要求 (PVC) を表示します。

  2. 結果のいずれかの名前と namespace を使用して、未加工データの場所を確認します。

    $ oc get pvc -n openshift-compliance rhcos4-moderate-worker

    出力例

    NAME                 	STATUS   VOLUME                                 	CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    rhcos4-moderate-worker   Bound	pvc-548f6cfe-164b-42fe-ba13-a07cfbc77f3a   1Gi    	RWO        	gp2        	92m

  3. ボリュームをマウントする Pod を起動し、結果をコピーして、未加工の結果をフェッチします。

    サンプル Pod

    apiVersion: "v1"
    kind: Pod
    metadata:
      name: pv-extract
    spec:
      containers:
        - name: pv-extract-pod
          image: registry.access.redhat.com/ubi8/ubi
          command: ["sleep", "3000"]
          volumeMounts:
          - mountPath: "/workers-scan-results"
            name: workers-scan-vol
      volumes:
        - name: workers-scan-vol
          persistentVolumeClaim:
            claimName: rhcos4-moderate-worker

  4. Pod の実行後に、結果をダウンロードします。

    $ oc cp pv-extract:/workers-scan-results .
    重要

    永続ボリュームをマウントする Pod を起動すると、要求は Bound として保持されます。使用中のボリュームのストレージクラスのパーミッションが ReadWriteOnce に設定されている場合、ボリュームは一度に 1 つの Pod によってのみマウント可能です。完了したら Pod を削除する必要があります。そうしないと、Operator は Pod をスケジュールし、継続して結果をこの場所に保存し続けることができなくなります。

  5. 展開が完了した後に、Pod を削除できます。

    $ oc delete pod pv-extract