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

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

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

手順

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

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

    $ oc get compliancesuites nist-moderate-modified \
    -o json -n openshift-compliance | jq '.status.scanStatuses[].resultsStorage'

    出力例

    {
         "name": "ocp4-moderate",
         "namespace": "openshift-compliance"
    }
    {
         "name": "nist-moderate-modified-master",
         "namespace": "openshift-compliance"
    }
    {
         "name": "nist-moderate-modified-worker",
         "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 を起動し、結果をコピーして、未加工の結果をフェッチします。

    $ oc create -n openshift-compliance -f pod.yaml

    pod.yaml の例

    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 -n openshift-compliance .
    重要

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

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

    $ oc delete pod pv-extract -n openshift-compliance