2.10. ポリシーの依存関係
依存関係を使用すると、クラスター上の他のポリシーが特定の状態にある場合にのみ、ポリシーをアクティブ化できます。依存関係の基準が満たされないと、ポリシーは Pending
と表示され、マネージドクラスターにリソースは作成されません。基準ステータスの詳細は、ポリシーステータスを参照してください。
ポリシーの依存関係を使用して、オブジェクトの適用順序を制御できます。たとえば、Operator 用のポリシーと、Operator が管理するリソース用の別のポリシーがある場合は、Operator がインストールされるまでリソースの作成を試行しないように、2 番目のポリシーに依存関係を設定できます。これは、マネージドクラスターのパフォーマンスの向上に役立ちます。
必要なアクセス権: ポリシー管理者
次のポリシー依存関係の例を表示します。ここで、ScanSettingBinding
は upstream-compliance-operator
ポリシーがマネージドクラスターですでに準拠している場合にのみ作成されます。
apiVersion: policy.open-cluster-management.io/v1 kind: Policy metadata: annotations: policy.open-cluster-management.io/categories: CM Configuration Management policy.open-cluster-management.io/controls: CM-2 Baseline Configuration policy.open-cluster-management.io/standards: NIST SP 800-53 policy.open-cluster-management.io/description: name: moderate-compliance-scan namespace: default spec: dependencies: 1 - apiVersion: policy.open-cluster-management.io/v1 compliance: Compliant kind: Policy name: upstream-compliance-operator namespace: default disabled: false policy-templates: - extraDependencies: 2 - apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy name: scan-setting-prerequisite compliance: Compliant ignorePending: false 3 objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: moderate-compliance-scan spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: compliance.openshift.io/v1alpha1 kind: ScanSettingBinding metadata: name: moderate namespace: openshift-compliance profiles: - apiGroup: compliance.openshift.io/v1alpha1 kind: Profile name: ocp4-moderate - apiGroup: compliance.openshift.io/v1alpha1 kind: Profile name: ocp4-moderate-node settingsRef: apiGroup: compliance.openshift.io/v1alpha1 kind: ScanSetting name: default remediationAction: enforce severity: low
- 1
dependencies
フィールドはPolicy
オブジェクトに設定され、要件はポリシー内のすべてのポリシーテンプレートに適用されます。- 2
extraDependencies
フィールドは、個々のポリシーテンプレートで設定できます。たとえば、パラメーターは設定ポリシーに対して設定でき、ポリシーで設定されたdependencies
に加えて満たす必要がある基準を定義します。- 3
ignorePending
フィールドは、個々のポリシーテンプレートごとに設定でき、全体的なポリシーコンプライアンスが計算されるときに、そのテンプレートのPending
状態がCompliant
またはNonCompliant
と見なされるかを設定します。デフォルトでは、これはfalse
に設定されており、Pending
テンプレートによりポリシーはNonCompliant
になります。これをtrue
に設定すると、このテンプレートがPending
の場合でもポリシーはCompliant
のままになります。これは、それがテンプレートの予想されるステータスである場合に便利です。
注記: 依存関係を使用して、別のクラスターのポリシーのステータスに基づいて、あるクラスターにポリシーを適用することはできません。