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.4. コンプライアンス Operator のスキャン
ScanSetting および
ScanSettingBinding
API は、コンプライアンス Operator でコンプライアンススキャンを実行するために使用することが推奨されます。これらの API オブジェクトの詳細については、以下を実行します。
oc explain scansettings
$ oc explain scansettings
または
oc explain scansettingbindings
$ oc explain scansettingbindings
5.4.1. コンプライアンススキャンの実行 リンクのコピーリンクがクリップボードにコピーされました!
Center for Internet Security (CIS) プロファイルを使用してスキャンを実行できます。便宜上、コンプライアンス Operator は起動時に適切なデフォルト値を持つ ScanSetting
オブジェクトを作成します。この ScanSetting
オブジェクトの名前は default
です。
オールインワンのコントロールプレーンノードとワーカーノードの場合、コンプライアンススキャンはワーカーノードとコントロールプレーンノードで 2 回実行されます。コンプライアンススキャンは、一貫性のないスキャン結果を生成する可能性があります。ScanSetting
オブジェクトで単一のロールのみを定義することにより、一貫性のない結果を回避できます。
手順
以下を実行して
ScanSetting
オブジェクトを検査します。oc describe scansettings default -n openshift-compliance
$ oc describe scansettings default -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- コンプライアンス Operator は、スキャンの結果が含まれる永続ボリューム (PV) を作成します。デフォルトで、コンプライアンス Operator はクラスターに設定されるストレージクラスについて何らかの仮定をすることができないため、PV はアクセスモード
ReadWriteOnce
を使用します。さらに、ReadWriteOnce
アクセスモードはほとんどのクラスターで利用できます。スキャン結果を取得する必要がある場合は、ボリュームもバインドするヘルパー Pod を使用して実行できます。ReadWriteOnce
アクセスモードを使用するボリュームは、一度に 1 つの Pod のみがマウントできるため、必ずヘルパー Pod を削除してください。そうでない場合は、コンプライアンス Operator は後続のスキャンのためにボリュームを再利用できません。 - 2
- コンプライアンス Operator は、後続の 3 つのスキャンの結果をボリュームに保持し、古いスキャンはローテーションされます。
- 3
- コンプライアンス Operator はスキャンの結果用に 1 GB のストレージを割り当てます。
- 4 5
- スキャン設定がクラスターノードをスキャンするプロファイルを使用する場合は、これらのノードロールをスキャンします。
- 6
- デフォルトのスキャン設定オブジェクトはすべてのノードもスキャンします。
- 7
- デフォルトのスキャン設定オブジェクトは、毎日 01:00 にスキャンを実行します。
デフォルトのスキャン設定の代わりに、以下の設定を含む
default-auto-apply
を使用できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの
ScanSetting
オブジェクトにバインドし、cis
およびcis-node
プロファイルを使用してクラスターをスキャンするScanSettingBinding
オブジェクトを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を実行して
ScanSettingBinding
オブジェクトを作成します。oc create -f <file-name>.yaml -n openshift-compliance
$ oc create -f <file-name>.yaml -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロセスのこの時点で、
ScanSettingBinding
オブジェクトは調整され、Binding
およびBound
設定に基づいて調整されます。コンプライアンス Operator はComplianceSuite
オブジェクトおよび関連付けられるComplianceScan
オブジェクトを作成します。以下を実行してコンプライアンススキャンの進捗を確認します。
oc get compliancescan -w -n openshift-compliance
$ oc get compliancescan -w -n openshift-compliance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スキャンはスキャンフェーズに進み、完了すると最終的に
DONE
フェーズに移行します。ほとんどの場合、スキャンの結果はNON-COMPLIANT
になります。スキャン結果を確認し、クラスターがコンプライアンスに基づくように修復の適用を開始することができます。詳細は、コンプライアンス Operator 修復の管理 について参照してください。
5.4.2. ワーカーノードでの結果サーバー Pod のスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
結果サーバー Pod は、生の Asset Reporting Format (ARF) スキャン結果を格納する永続ボリューム (PV) をマウントします。nodeSelector
属性および tolerations
属性を使用すると、結果サーバー Pod の場所を設定できます。
これは、コントロールプレーンノードが永続ボリュームをマウントすることを許可されていない環境で役立ちます。
手順
コンプライアンス Operator 用の
ScanSetting
カスタムリソース (CR) を作成します。ScanSetting
CR を定義し、YAML ファイルを保存します (例:rs-workers.yaml
)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ScanSetting
CR を作成するには、次のコマンドを実行します。oc create -f rs-workers.yaml
$ oc create -f rs-workers.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ScanSetting
オブジェクトが作成されたことを確認するには、次のコマンドを実行します。oc get scansettings rs-on-workers -n openshift-compliance -o yaml
$ oc get scansettings rs-on-workers -n openshift-compliance -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow