5.7. 定制 Compliance Operator
虽然 Compliance Operator 附带随时可用的配置集,但必须对其进行修改才能满足机构的需求和要求。修改配置集的过程称为定制。
Compliance Operator 提供一个可轻松定制配置集的对象,称为 TailoredProfile
。它假设您要扩展预先存在的配置集,并允许您启用和禁用来自 ProfileBundle
的规则和值。
您将只能使用可作为您要扩展的配置集所属的 ProfileBundle
一部分的规则和变量。
5.7.1. 使用定制配置集
尽管 TailoredProfile
CR 支持最常见的定制操作,但 XCCDF 标准在定制 OpenSCAP 配置集方面具有更大的灵活性。此外,如果您的机构之前一直使用 OpenScap,则您可能有一个现有的 XCCDF 定制文件可重复使用。
ComplianceSuite
对象包含可指向自定义定制文件的可选 TailoringConfigMap
属性。TailoringConfigMap
属性的值是一个配置映射的名称,它必须包含名为 tailoring.xml
的键,这个键的值是定制内容。
流程
浏览 Red Hat Enterprise Linux CoreOS (RHCOS)
ProfileBundle
的可用规则:$ oc get rules.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
浏览同一
ProfileBundle
中的可用变量:$ oc get variables.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
创建名为
nist-moderate-modified
的定制配置集:选择您要添加到
nist-moderate-modified
定制配置集中的规则。这个示例通过禁用两个规则并更改一个值来扩展rhcos4-moderate
配置集。使用rationale
值描述进行这些更改的原因:new-profile-node.yaml
示例apiVersion: compliance.openshift.io/v1alpha1 kind: TailoredProfile metadata: name: nist-moderate-modified spec: extends: rhcos4-moderate description: NIST moderate profile title: My modified NIST moderate profile disableRules: - name: rhcos4-file-permissions-var-log-messages rationale: The file contains logs of error messages in the system - name: rhcos4-account-disable-post-pw-expiration rationale: No need to check this as it comes from the IdP setValues: - name: rhcos4-var-selinux-state rationale: Organizational requirements value: permissive
表 5.2. spec 变量的属性 属性 描述 extends
构建此
TailoredProfile
的Profile
对象的名称。title
TailoredProfile
的人类可读标题.disableRules
名称和理由对列表。每个名称引用要禁用的规则对象的名称。合理值是人类可读的文本,描述禁用规则的原因。
enableRules
名称和理由对列表。每个名称引用要启用的规则对象的名称。合理值是人类可读的文本,描述启用规则的原因。
description
描述
TailoredProfile
的人类可读文本.setValues
名称、理由和值分组列表。每个名称都引用值集的名称。理由是人类可读的文本描述该集合。值是实际设置。
创建
TailoredProfile
对象:$ oc create -n openshift-compliance -f new-profile-node.yaml 1
- 1
TailoredProfile
对象在默认的openshift-compliance
命名空间中创建。
输出示例
tailoredprofile.compliance.openshift.io/nist-moderate-modified created
定义
ScanSettingBinding
对象,将新的nist-moderate-modified
定制配置集绑定到默认的ScanSetting
对象。new-scansettingbinding.yaml
示例apiVersion: compliance.openshift.io/v1alpha1 kind: ScanSettingBinding metadata: name: nist-moderate-modified profiles: - apiGroup: compliance.openshift.io/v1alpha1 kind: Profile name: ocp4-moderate - apiGroup: compliance.openshift.io/v1alpha1 kind: TailoredProfile name: nist-moderate-modified settingsRef: apiGroup: compliance.openshift.io/v1alpha1 kind: ScanSetting name: default
创建
ScanSettingBinding
对象:$ oc create -n openshift-compliance -f new-scansettingbinding.yaml
输出示例
scansettingbinding.compliance.openshift.io/nist-moderate-modified created