跳到主要内容
版本:v2.10 (Preview)

配置

此配置参考用于帮助你管理由 rancher-cis-benchmark 应用创建的自定义资源。这些资源用于在集群上执行 CIS 扫描、跳过测试、设置扫描使用的测试配置文件和其他自定义配置。

要配置自定义资源,转到集群仪表板。要配置 CIS 扫描:

  1. 在左上角,单击 ☰ > 集群管理
  2. 集群页面上,转到要配置 CIS 扫描的集群,然后单击 Explore
  3. 在左侧导航栏中,单击 CIS Benchmark

扫描

扫描是用来根据定义的配置文件,在集群上触发 CIS 扫描的。扫描完成后会创建一份报告。

配置扫描时,你需要定义与 scanProfileName 参数一起使用的扫描配置文件的名称。

下面是一个 ClusterScan 自定义资源示例:

apiVersion: cis.cattle.io/v1
kind: ClusterScan
metadata:
name: rke-cis
spec:
scanProfileName: rke-profile-hardened

配置文件

配置文件包含 CIS 扫描的配置,包括要使用的 Benchmark 测试版本以及要在该 Benchmark 测试中跳过的测试。

警告

默认情况下,一些 ClusterScanProfile 会作为 rancher-cis-benchmark Chart 的一部分进行安装。如果用户编辑了这些默认 Benchmark 或配置文件,它们会在下一次 Chart 更新时被重置。因此,建议用户不要编辑默认的 ClusterScanProfile。

用户可以通过克隆 ClusterScanProfile 来创建自定义配置文件。

跳过的测试会列在 skipTests 参数下。

创建新配置文件时,你还需要命名配置文件。

ClusterScanProfile 示例如下:

apiVersion: cis.cattle.io/v1
kind: ClusterScanProfile
metadata:
annotations:
meta.helm.sh/release-name: clusterscan-operator
meta.helm.sh/release-namespace: cis-operator-system
labels:
app.kubernetes.io/managed-by: Helm
name: "<example-profile>"
spec:
benchmarkVersion: cis-1.5
skipTests:
- "1.1.20"
- "1.1.21"

Benchmark 版本

Benchmark 版本是指使用 kube-bench 运行的 Benchmark 名称,以及该 Benchmark 的有效配置参数。

ClusterScanBenchmark 定义了 CIS BenchmarkVersion 的名称和测试配置。BenchmarkVersion 名称是提供给 kube-bench 工具的参数。

默认情况下,一些 BenchmarkVersion 名称和测试配置会作为 CIS 扫描应用的一部分进行打包。启用此功能后,这些默认 BenchmarkVersion 将自动安装,用户可以使用它们来创建 ClusterScanProfile。

警告

如果用户编辑了默认的 BenchmarkVersion,它们会在下一次 Chart 更新时被重置。因此,不建议编辑默认的 ClusterScanBenchmark。

ClusterScanBenchmark 由以下字段组成:

  • ClusterProvider:此 Benchmark 适用的集群提供商名称,例如,RKE、EKS、GKE。如果此基准测试可以在任何集群类型上运行,则留空。
  • MinKubernetesVersion:集群运行此 Benchmark 测试所需的最低 kubernetes 版本。如果不依赖特定的 Kubernetes 版本,则留空。
  • MaxKubernetesVersion:集群运行此 Benchmark 测试所需的最高 Kubernetes 版本。如果不依赖特定的 Kubernetes 版本,则留空。

ClusterScanBenchmark 示例如下:

apiVersion: cis.cattle.io/v1
kind: ClusterScanBenchmark
metadata:
annotations:
meta.helm.sh/release-name: clusterscan-operator
meta.helm.sh/release-namespace: cis-operator-system
creationTimestamp: "2020-08-28T18:18:07Z"
generation: 1
labels:
app.kubernetes.io/managed-by: Helm
name: cis-1.5
resourceVersion: "203878"
selfLink: /apis/cis.cattle.io/v1/clusterscanbenchmarks/cis-1.5
uid: 309e543e-9102-4091-be91-08d7af7fb7a7
spec:
clusterProvider: ""
minKubernetesVersion: 1.15.0