5.13.4. ScanSettingBinding カスタムリソースの使用

コンプライアンス Operator が提供する ScanSetting および ScanSettingBinding カスタムリソース (CR) を使用する場合、schedulemachine rolestolerations などのスキャンオプションのセットを使用している間に、複数のプロファイルに対してスキャンを実行できます。複数の ComplianceSuite オブジェクトまたは ComplianceScan オブジェクトを使用することがより容易になりますが、新規ユーザーが混乱を生じさせる可能性があります。

oc compliance bind サブコマンドは、ScanSettingBinding CR の作成に役立ちます。

手順

  1. 以下を実行します。

    $ oc compliance bind [--dry-run] -N <binding name> [-S <scansetting name>] <objtype/objname> [..<objtype/objname>]
    • -S フラグを省略する場合、コンプライアンス Operator によって提供される default のスキャン設定が使用されます。
    • オブジェクトタイプは、Kubernetes オブジェクトタイプです。profile または tailoredprofile にすることができます。複数のオブジェクトを指定できます。
    • オブジェクト名は、.metadata.name などの Kubernetes リソースの名前です。
    • --dry-run オプションを追加して、作成されるオブジェクトの YAML ファイルを表示します。

      たとえば、以下のプロファイルとスキャン設定を指定します。

      $ oc get profile.compliance -n openshift-compliance

      出力例

      NAME              AGE
      ocp4-cis          9m54s
      ocp4-cis-node     9m54s
      ocp4-e8           9m54s
      ocp4-moderate     9m54s
      ocp4-ncp          9m54s
      rhcos4-e8         9m54s
      rhcos4-moderate   9m54s
      rhcos4-ncp        9m54s
      rhcos4-ospp       9m54s
      rhcos4-stig       9m54s

      $ oc get scansettings -n openshift-compliance

      出力例

      NAME                 AGE
      default              10m
      default-auto-apply   10m

  2. default 設定を ocp4-cis および ocp4-cis-node プロファイルに適用するには、以下を実行します。

    $ oc compliance bind -N my-binding profile/ocp4-cis profile/ocp4-cis-node

    出力例

    Creating ScanSettingBinding my-binding

    ScanSettingBinding CR が作成されると、バインドされたプロファイルは、関連する設定で両方のプロファイルのスキャンを開始します。全体的に、これはコンプライアンス Operator でスキャンを開始するための最も高速な方法です。