This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.14. oc-compliance プラグインの使用
Compliance Operator はクラスターのチェックおよび修復の多くを自動化しますが、クラスターを準拠させる完全なプロセスでは、管理者が Compliance Operator API や他のコンポーネントと対話する必要があります。oc-compliance
プラグインはプロセスを容易にします。
5.14.1. oc-compliance プラグインのインストール リンクのコピーリンクがクリップボードにコピーされました!
手順
oc-compliance
イメージをデプロイメントして、oc-compliance
バイナリーを取得します。podman run --rm -v ~/.local/bin:/mnt/out:Z registry.redhat.io/compliance/oc-compliance-rhel8:stable /bin/cp /usr/bin/oc-compliance /mnt/out/
$ podman run --rm -v ~/.local/bin:/mnt/out:Z registry.redhat.io/compliance/oc-compliance-rhel8:stable /bin/cp /usr/bin/oc-compliance /mnt/out/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
W0611 20:35:46.486903 11354 manifest.go:440] Chose linux/amd64 manifest from the manifest list.
W0611 20:35:46.486903 11354 manifest.go:440] Chose linux/amd64 manifest from the manifest list.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc-compliance
を実行できるようになりました。
5.14.2. 未加工の結果の取得 リンクのコピーリンクがクリップボードにコピーされました!
コンプライアンススキャンが完了すると、個別のチェックの結果は生成される ComplianceCheckResult
カスタムリソース (CR) にリスト表示されます。ただし、管理者または監査担当者にはスキャンの詳細情報が必要になる場合があります。OpenSCAP ツールは、詳細な結果で Advanced Recording Format (ARF) 形式のファイルを作成します。この ARF ファイルは設定マップまたは他の標準の Kubernetes リソースに保存するには大き過ぎるため、永続ボリューム (PV) がこれを組み込むように作成されます。
手順
Compliance Operator を使用した PV からの結果の取得は 4 つの手順で実行されます。ただし、
oc-compliance
プラグインでは、単一のコマンドを使用できます。oc compliance fetch-raw <object-type> <object-name> -o <output-path>
$ oc compliance fetch-raw <object-type> <object-name> -o <output-path>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<object-type>
は、スキャンの機能に使用されたオブジェクトによって、scansettingbinding
、compliancescan
またはcompliancesuite
のいずれかにすることができます。 <object-name>
は、ARF ファイルを収集に使用するバインディング、スイート、またはスキャンオブジェクトの名前です。<output-path>
は、結果を配置するローカルディレクトリーです。以下に例を示します。
oc compliance fetch-raw scansettingbindings my-binding -o /tmp/
$ oc compliance fetch-raw scansettingbindings my-binding -o /tmp/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ディレクトリー内のファイルの一覧を表示します。
ls /tmp/ocp4-cis-node-master/
$ ls /tmp/ocp4-cis-node-master/
出力例
ocp4-cis-node-master-ip-10-0-128-89.ec2.internal-pod.xml.bzip2 ocp4-cis-node-master-ip-10-0-150-5.ec2.internal-pod.xml.bzip2 ocp4-cis-node-master-ip-10-0-163-32.ec2.internal-pod.xml.bzip2
ocp4-cis-node-master-ip-10-0-128-89.ec2.internal-pod.xml.bzip2 ocp4-cis-node-master-ip-10-0-150-5.ec2.internal-pod.xml.bzip2 ocp4-cis-node-master-ip-10-0-163-32.ec2.internal-pod.xml.bzip2
結果を抽出します。
bunzip2 -c resultsdir/worker-scan/worker-scan-stage-459-tqkg7-compute-0-pod.xml.bzip2 > resultsdir/worker-scan/worker-scan-ip-10-0-170-231.us-east-2.compute.internal-pod.xml
$ bunzip2 -c resultsdir/worker-scan/worker-scan-stage-459-tqkg7-compute-0-pod.xml.bzip2 > resultsdir/worker-scan/worker-scan-ip-10-0-170-231.us-east-2.compute.internal-pod.xml
結果を表示します。
ls resultsdir/worker-scan/
$ ls resultsdir/worker-scan/
出力例
worker-scan-ip-10-0-170-231.us-east-2.compute.internal-pod.xml worker-scan-stage-459-tqkg7-compute-0-pod.xml.bzip2 worker-scan-stage-459-tqkg7-compute-1-pod.xml.bzip2
worker-scan-ip-10-0-170-231.us-east-2.compute.internal-pod.xml
worker-scan-stage-459-tqkg7-compute-0-pod.xml.bzip2
worker-scan-stage-459-tqkg7-compute-1-pod.xml.bzip2
5.14.3. スキャンの再実行 リンクのコピーリンクがクリップボードにコピーされました!
スキャンをスケジュールされたジョブとして実行することは可能ですが、多くの場合、修復の適用後、またはクラスターへの他の変更が加えられるなどの場合にとくにスキャンをオンデマンドで再実行する必要があります。
手順
Compliance Operator でスキャンを再実行するには、スキャンオブジェクトでアノテーションを使用する必要があります。ただし、
oc-compliance
プラグインを使用すると、1 つのコマンドでスキャンを再実行できます。以下のコマンドを入力して、my-binding
という名前のScanSettingBinding
オブジェクトのスキャンを再実行します。oc compliance rerun-now scansettingbindings my-binding
$ oc compliance rerun-now scansettingbindings my-binding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Rerunning scans from 'my-binding': ocp4-cis Re-running scan 'openshift-compliance/ocp4-cis'
Rerunning scans from 'my-binding': ocp4-cis Re-running scan 'openshift-compliance/ocp4-cis'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.4. ScanSettingBinding カスタムリソースの使用 リンクのコピーリンクがクリップボードにコピーされました!
Compliance Operator が提供する ScanSetting
および ScanSettingBinding
カスタムリソース (CR) を使用する場合、schedule
、machine roles
、tolerations
などのスキャンオプションのセットを使用している間に、複数のプロファイルに対してスキャンを実行できます。複数の ComplianceSuite
オブジェクトまたは ComplianceScan
オブジェクトを使用することがより容易になりますが、新規ユーザーが混乱を生じさせる可能性があります。
oc compliance bind
サブコマンドは、ScanSettingBinding
CR の作成に役立ちます。
手順
以下を実行します。
oc compliance bind [--dry-run] -N <binding name> [-S <scansetting name>] <objtype/objname> [..<objtype/objname>]
$ oc compliance bind [--dry-run] -N <binding name> [-S <scansetting name>] <objtype/objname> [..<objtype/objname>]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
-S
フラグを省略する場合、Compliance Operator によって提供されるdefault
のスキャン設定が使用されます。 -
オブジェクトタイプは、Kubernetes オブジェクトタイプです。
profile
またはtailoredprofile
にすることができます。複数のオブジェクトを指定できます。 -
オブジェクト名は、
.metadata.name
などの Kubernetes リソースの名前です。 --dry-run
オプションを追加して、作成されるオブジェクトの YAML ファイルを表示します。たとえば、以下のプロファイルとスキャン設定を指定します。
oc get profile.compliance -n openshift-compliance
$ oc get profile.compliance -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get scansettings -n openshift-compliance
$ oc get scansettings -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE default 10m default-auto-apply 10m
NAME AGE default 10m default-auto-apply 10m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
default
設定をocp4-cis
およびocp4-cis-node
プロファイルに適用するには、以下を実行します。oc compliance bind -N my-binding profile/ocp4-cis profile/ocp4-cis-node
$ oc compliance bind -N my-binding profile/ocp4-cis profile/ocp4-cis-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Creating ScanSettingBinding my-binding
Creating ScanSettingBinding my-binding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ScanSettingBinding
CR が作成されると、バインドされたプロファイルは、関連する設定で両方のプロファイルのスキャンを開始します。全体的に、これはCompliance Operator でスキャンを開始するための最も高速な方法です。
5.14.5. コントロールの表示 リンクのコピーリンクがクリップボードにコピーされました!
コンプライアンス標準は通常、以下のように階層に編成されます。
- ベンチマークは、特定の標準についての一連のコントロールの最上位の定義です。例: FedRAMP Moderate または Center for Internet Security (CIS) v.1.6.0。
- コントロールは、ベンチマークへの準拠を確保するために満たさなければならない要件のファミリーを説明します。例: FedRAMP AC-01(アクセス制御ポリシーおよび手順)。
- ルールは、コンプライアンスを取るシステムに固有の単一のチェックでありで、これらの 1 つ以上のルールがコントロールにマップされます。
- Compliance Operator は、単一のベンチマークについてのプロファイルへのルールのグループ化に対応します。プロファイルの一連のルールの条件を満たすコントロールを判別することが容易ではない場合があります。
手順
oc compliance
controls
サブコマンドは、指定されたプロファイルが満たす標準およびコントロールのレポートを提供します。oc compliance controls profile ocp4-cis-node
$ oc compliance controls profile ocp4-cis-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.6. コンプライアンス修復の詳細情報の取得 リンクのコピーリンクがクリップボードにコピーされました!
Compliance Operator は、クラスターが準拠できるようにする必要な変更を自動化するために使用される修復オブジェクトを提供します。fetch-fixes
サブコマンドは、使用する設定の修復を正確に理解するのに役立ちます。fetch-fixes
サブコマンドを使用して、検査するディレクトリーにプロファイル、ルール、または ComplianceRemediation
オブジェクトから修復オブジェクトをデプロイメントします。
手順
プロファイルの修復を表示します。
oc compliance fetch-fixes profile ocp4-cis -o /tmp
$ oc compliance fetch-fixes profile ocp4-cis -o /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ルールが自動的に修復されないか、修復が行われないために対応する修復のないルールがプロファイルにある場合は常に、
No fixes to persist
の警告が出されることが予想されます。
YAML ファイルのサンプルを表示できます。
head
コマンドは、最初の 10 行を表示します。head /tmp/ocp4-api-server-audit-log-maxsize.yaml
$ head /tmp/ocp4-api-server-audit-log-maxsize.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スキャン後に作成される
ComplianceRemediation
オブジェクトから修復を表示します。oc get complianceremediations -n openshift-compliance
$ oc get complianceremediations -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATE ocp4-cis-api-server-encryption-provider-cipher NotApplied ocp4-cis-api-server-encryption-provider-config NotApplied
NAME STATE ocp4-cis-api-server-encryption-provider-cipher NotApplied ocp4-cis-api-server-encryption-provider-config NotApplied
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc compliance fetch-fixes complianceremediations ocp4-cis-api-server-encryption-provider-cipher -o /tmp
$ oc compliance fetch-fixes complianceremediations ocp4-cis-api-server-encryption-provider-cipher -o /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Persisted compliance remediation fix to /tmp/ocp4-cis-api-server-encryption-provider-cipher.yaml
Persisted compliance remediation fix to /tmp/ocp4-cis-api-server-encryption-provider-cipher.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルのサンプルを表示できます。
head
コマンドは、最初の 10 行を表示します。head /tmp/ocp4-cis-api-server-encryption-provider-cipher.yaml
$ head /tmp/ocp4-cis-api-server-encryption-provider-cipher.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
修復を直接適用するには注意が必要です。一部の修復は、適度なプロファイルの usbguard ルールなどのように一括して適用できない場合があります。このような場合、Compliance Operator は依存関係に対応し、クラスターは正常な状態のままになるため、ルールを適用できます。
5.14.7. ComplianceCheckResult オブジェクトの詳細の表示 リンクのコピーリンクがクリップボードにコピーされました!
スキャンの実行が終了すると、ComplianceCheckResult
オブジェクトが個別のスキャンルールについて作成されます。view-result
サブコマンドは、ComplianceCheckResult
オブジェクトの詳細の人間が判読できる出力を提供します。
手順
以下を実行します。
oc compliance view-result ocp4-cis-scheduler-no-bind-address
$ oc compliance view-result ocp4-cis-scheduler-no-bind-address
Copy to Clipboard Copied! Toggle word wrap Toggle overflow