2.6. サポート対象のポリシー


Red Hat Advanced Cluster Management for Kubernetes でポリシーの作成および管理時に、ハブクラスターでのルール、プロセス、制御の定義方法を説明するサポート対象のポリシーを確認します。

2.6.1. サンプル設定ポリシーの表

次のサンプル設定ポリシーを表示します。

Expand
表2.6 設定ポリシーの表のリスト
ポリシーのサンプル説明

namespace ポリシー

環境の分離と namespace を使用した命名の一貫性を確保します。Kubernetes Namespace のドキュメント を参照してください。

Pod ポリシー

クラスターのワークロード設定を確認します。Kubernetes Pod のドキュメント を参照してください。

メモリー使用状況のポリシー

制限範囲を使用してワークロードリソースの使用を制限します。制限範囲のドキュメント を参照してください。

Pod セキュリティーポリシー (非推奨)

一貫したワークロードセキュリティーを確保します。Kubernetes Pod セキュリティーポリシーのドキュメント を参照してください。

ロールポリシー
ロールバインディングポリシー

ロールとロールバインディングを使用して、ロールのアクセス権限とバインディングを管理します。Kubernetes RBAC のドキュメント を参照してください。

SCC (Security Context Constraints) ポリシー

Security Context Constraints を使用してワークロードのアクセス権限を管理します。OpenShift Container Platform ドキュメントの セキュリティーコンテキスト制約の管理ドキュメント を参照してください。

ETCD 暗号化ポリシー

etcd 暗号化でデータセキュリティーを確保します。OpenShift Container Platform ドキュメントの etcd データの暗号化 を参照してください。

Compliance Operator ポリシー

Compliance Operator をデプロイして、OpenSCAP を利用するクラスターのコンプライアンス状態をスキャンして適用します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。

Compliance Operator E8 のスキャン

Compliance Operator ポリシーを適用した後、Essential 8 (E8) スキャンをデプロイして、E8 セキュリティープロファイルへの準拠を確認します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。

Compliance Operator CIS のスキャン

Compliance Operator ポリシーを適用した後、Center for Internet Security (CIS) スキャンをデプロイメントして、CIS セキュリティープロファイルへの準拠を確認します。OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。

イメージ脆弱性ポリシー

Container Security Operator をデプロイし、クラスターで実行されている Pod で既知のイメージの脆弱性を検出します。Container Security Operator GitHub リポジトリーを参照してください。

Gatekeeper Operator の配置

Gatekeeper は、Open Policy Agent (OPA) ポリシーエンジンによって実行されるカスタムリソース定義ベースのポリシーを適用するアドミッション Webhook です。Gatekeeper のドキュメントを参照してください。

Gatekeeper のコンプライアンスポリシー

Gatekeeper をクラスターにデプロイした後、このサンプルの Gatekeeper ポリシーをデプロイして、クラスター上に作成された namespace が指定どおりにラベル付けされるようにします。

Red Hat OpenShift Platform Plus ポリシーセット

Red Hat OpenShift Platform Plus は、複数のインフラストラクチャー向けのアプリケーションを安全に構築、デプロイ、実行、管理するためのハイブリッドクラウド製品スイートです。Red Hat Advanced Cluster Management アプリケーションを通じて提供される PolicySets を使用して、Red Hat OpenShift Platform Plus をマネージドクラスターにデプロイできます。OpenShift Platform Plus の詳細は、OpenShift Platform Plus のドキュメントを参照してください。

Red Hat OpenShift Container Platform 4.x は、Red Hat Advanced Cluster Management 設定ポリシーもサポートします。

ポリシーがどのように適用されるかを確認するには、ポリシーに関する以下のドキュメントを参照してください。

他のトピックは、ガバナンス を参照してください。

2.6.2. namespace ポリシー

Kubernetes 設定ポリシーコントローラーは、namespace ポリシーのステータスを監視します。namespace ポリシーを適用し、namespace の特定のルールを定義します。

以下のセクションでは namespace ポリシーの設定を説明します。

2.6.2.1. namespace ポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          object-templates:
            - complianceType:
              objectDefinition:
                kind: Namespace
                apiVersion: v1
                metadata:
                  name:
                ...
Copy to Clipboard Toggle word wrap

2.6.2.2. namespace ポリシー YAML の表

Expand
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.2.3. namespace ポリシーの例

ポリシーのサンプルを確認するには、policy-namespace.yaml を参照してください。

詳細は、セキュリティーポリシーの管理 を参照してください。その他の設定ポリシーは、ポリシーの概要 に関するドキュメントと Kubernetes 設定ポリシーコントローラー を参照してください。

2.6.3. Pod ポリシー

Kubernetes 設定ポリシーコントローラーは、ロールポリシーのステータスを監視します。Pod ポリシーを適用し、Pod のコンテナールールを定義します。この情報を使用するには、Pod がクラスターに存在している必要があります。

以下のセクションでは、Pod ポリシーの設定を説明します。

2.6.3.1. Pod ポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: v1
                kind: Pod
                metadata:
                  name:
                spec:
                  containers:
                  - image:
                    name:
                ...
Copy to Clipboard Toggle word wrap

2.6.3.2. Pod ポリシーの表

Expand
表2.7 パラメーターの表
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.3.3. Pod ポリシーの例

ポリシーのサンプルを確認するには、policy-pod.yaml を参照してください。

設定コントローラーによって監視される他の設定ポリシーを表示するには、Kubernetes 設定ポリシーコントローラー を参照してください。また、ポリシーの YAML 構造と追加フィールドの完全な説明を確認するには、ポリシーの概要 ドキュメントを参照してください。他のポリシーを管理するには、設定ポリシーの管理 に関するドキュメントに戻ります。

2.6.4. メモリー使用状況のポリシー

Kubernetes 設定ポリシーコントローラーは、メモリー使用状況ポリシーのステータスを監視します。メモリー使用状況ポリシーを使用して、メモリーおよびコンピュートの使用量を制限または制約します。詳細は、Kubernetes ドキュメントLimit Ranges を参照してください。

以下のセクションでは、メモリー使用状況ポリシーの設定を説明します。

2.6.4.1. メモリー使用状況ポリシー YAML の設定

メモリー使用状況ポリシーは、以下の YAML ファイルのようになります。

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType: mustonlyhave
              objectDefinition:
                apiVersion: v1
                kind: LimitRange
                metadata:
                  name:
                spec:
                  limits:
                  - default:
                      memory:
                    defaultRequest:
                      memory:
                    type:
        ...
Copy to Clipboard Toggle word wrap

2.6.4.2. メモリー使用状況のポリシーの表

Expand
表2.8 パラメーターの表
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.4.3. メモリー使用状況ポリシーの例

ポリシーのサンプルを確認するには、policy-limitmemory.yaml を参照してください。詳細は、セキュリティーポリシーの管理 を参照してください。ポリシーの概要 に関するドキュメントと Kubernetes 設定ポリシーコントローラー を参照して、コントローラーによって監視されるその他の設定ポリシーを確認してください。

2.6.5. Pod セキュリティーポリシー (非推奨)

Kubernetes 設定ポリシーコントローラーは、Pod セキュリティーポリシーのステータスを監視します。Pod のセキュリティーポリシーを適用して Pod およびコンテナーのセキュリティーを保護します。

以下のセクションでは、Pod セキュリティーポリシーの設定を説明します。

2.6.5.1. Pod セキュリティーポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: policy/v1beta1
                kind: PodSecurityPolicy
                metadata:
                  name:
                  annotations:
                    seccomp.security.alpha.kubernetes.io/allowedProfileNames:
                spec:
                  privileged:
                  allowPrivilegeEscalation:
                  allowedCapabilities:
                  volumes:
                  hostNetwork:
                  hostPorts:
                  hostIPC:
                  hostPID:
                  runAsUser:
                  seLinux:
                  supplementalGroups:
                  fsGroup:
                ...
Copy to Clipboard Toggle word wrap

2.6.5.2. Pod セキュリティーポリシーの表

Expand
表2.9 パラメーターの表
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.5.3. Pod セキュリティーポリシーの例

Pod セキュリティーポリシーのサポートは、OpenShift Container Platform 4.13 以降、および Kubernetes v1.25 以降から削除されました。PodSecurityPolicy リソースを適用すると、次の非準拠メッセージを受け取る場合があります。

violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed
Copy to Clipboard Toggle word wrap

2.6.6. ロールポリシー

Kubernetes 設定ポリシーコントローラーは、ロールポリシーのステータスを監視します。object-template にロールを定義して、クラスター内の特定ロールのルールおよびパーミッションを設定します。

以下のセクションでは、ロールポリシーの設定を説明します。

2.6.6.1. ロールポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: rbac.authorization.k8s.io/v1
                kind: Role
                metadata:
                  name:
                rules:
                  - apiGroups:
                    resources:
                    verbs:
                ...
Copy to Clipboard Toggle word wrap

2.6.6.2. ロールポリシーの表

Expand
表2.10 パラメーターの表
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.6.3. ロールポリシーの例

ロールポリシーを適用して、クラスター内の特定のロールのルールおよびパーミッションを設定します。ロールの詳細は、ロールベースのアクセス制御 を参照してください。ロールポリシーのサンプルを確認するには policy-role.yaml を参照してください。

ロールポリシーの管理方法は、設定ポリシーの管理 を参照してください。コントローラーが監視する他の設定ポリシーは、Kubernetes 設定ポリシーコントローラー を参照してください。

2.6.7. Role Binding ポリシー

Kubernetes 設定ポリシーコントローラーは、Role Binding ポリシーのステータスを監視します。Role Binding ポリシーを適用し、ポリシーをマネージドクラスターの namespace にバインドします。

以下のセクションでは namespace ポリシーの設定を説明します。

2.6.7.1. Role Binding ポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                kind: RoleBinding # role binding must exist
                apiVersion: rbac.authorization.k8s.io/v1
                metadata:
                  name:
                subjects:
                - kind:
                  name:
                  apiGroup:
                roleRef:
                  kind:
                  name:
                  apiGroup:
                ...
Copy to Clipboard Toggle word wrap

2.6.7.2. Role Binding ポリシーの表

Expand
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.7.3. Role Binding ポリシーの例

ポリシーのサンプルを確認するには、policy-rolebinding.yaml を参照してください。ポリシーの YAML 構造と追加フィールドの完全な説明は、ポリシーの概要 に関するドキュメントを参照してください。その他の設定ポリシーは、Kubernetes 設定ポリシーコントローラー のドキュメントを参照してください。

2.6.8. Security Context Constraints ポリシー

Kubernetes 設定ポリシーコントローラーは、Security Context Constraints ポリシーのステータスを監視します。Security Context Constraints (SCC) ポリシーを適用し、ポリシーで条件を定義して Pod のパーミッションを制御します。

以下のセクションで、SCC ポリシーの詳細を説明します。

2.6.8.1. SCC ポリシー YAML の設定

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          namespaceSelector:
            exclude:
            include:
            matchLabels:
            matchExpressions:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: security.openshift.io/v1
                kind: SecurityContextConstraints
                metadata:
                  name:
                allowHostDirVolumePlugin:
                allowHostIPC:
                allowHostNetwork:
                allowHostPID:
                allowHostPorts:
                allowPrivilegeEscalation:
                allowPrivilegedContainer:
                fsGroup:
                readOnlyRootFilesystem:
                requiredDropCapabilities:
                runAsUser:
                seLinuxContext:
                supplementalGroups:
                users:
                volumes:
                ...
Copy to Clipboard Toggle word wrap

2.6.8.2. SCC ポリシーの表

Expand
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

SCC ポリシーの内容の説明は、OpenShift Container Platform ドキュメントの Security Context Constraints の管理 を参照してください。

2.6.8.3. SCC ポリシーの例

Security Context Constraints (SCC) ポリシーを適用し、ポリシーで条件を定義して Pod のパーミッションを制御します。詳細は、SCC (Security Context Constraints) の管理 を参照してください。

ポリシーのサンプルを確認するには、policy-scc.yaml を参照してください。ポリシーの YAML 構造と追加フィールドの完全な説明は、ポリシーの概要 に関するドキュメントを参照してください。その他の設定ポリシーは、Kubernetes 設定ポリシーコントローラー のドキュメントを参照してください。

2.6.9. ETCD 暗号化ポリシー

etcd-encryption ポリシーを適用して、ETCD データストアで機密データを検出するか、機密データの暗号化を有効にします。Kubernetes 設定ポリシーコントローラーは、etcd-encryption ポリシーのステータスを監視します。詳細は、OpenShift Container Platform ドキュメントの etcd データの暗号化 を参照してください。注記: ETCD 暗号化ポリシーは、Red Hat OpenShift Container Platform 4 以降のみをサポートします。

以下のセクションでは、etcd-encryption ポリシーの設定を説明します。

2.6.9.1. ETCD 暗号化ポリシーの YAML 設定

etcd-encryption ポリシーは、以下の YAML ファイルのようになります。

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name:
  namespace:
  annotations:
    policy.open-cluster-management.io/standards:
    policy.open-cluster-management.io/categories:
    policy.open-cluster-management.io/controls:
    policy.open-cluster-management.io/description:
spec:
  remediationAction:
  disabled:
  policy-templates:
    - objectDefinition:
        apiVersion: policy.open-cluster-management.io/v1
        kind: ConfigurationPolicy
        metadata:
          name:
        spec:
          remediationAction:
          severity:
          object-templates:
            - complianceType:
              objectDefinition:
                apiVersion: config.openshift.io/v1
                kind: APIServer
                metadata:
                  name:
                spec:
                  encryption:
                ...
Copy to Clipboard Toggle word wrap

2.6.9.2. ETCD 暗号化ポリシーの表

Expand
表2.11 パラメーターの表
フィールド任意または必須説明

apiVersion

必須

この値は policy.open-cluster-management.io/v1 に設定します。

kind

必須

ポリシーのタイプを指定するには、値を Policy に設定します。

metadata.name

必須

ポリシーリソースを識別する名前。

metadata.namespace

必須

ポリシーの namespace。

spec.remediationAction

任意

ポリシーの修正を指定します。パラメーターの値は enforce および inform です。この値はオプションです。spec.policy-templates で提供されるすべての値をオーバーライドするためです。

spec.disabled

必須

この値は true または false に設定します。disabled パラメーターを使用すると、ポリシーを有効または無効にできます。

spec.policy-templates[].objectDefinition

必須

マネージドクラスターに評価または適用する必要がある Kubernetes オブジェクトを含む設定ポリシーをリスト表示するために使用されます。

2.6.9.3. ETCD 暗号化ポリシーの例

ポリシーのサンプルは、policy-etcdencryption.yaml を参照してください。ポリシーおよび設定ポリシーフィールドの詳細は、ポリシーの概要 ドキュメントと Kubernetes 設定ポリシーコントローラー を参照してください。

2.6.10. Compliance Operator ポリシー

Compliance Operator を使用すると、多数の技術実装の検査を自動化し、それらを業界標準、ベンチマーク、およびベースラインの特定の側面と比較できます。Compliance Operator は監査人ではありません。このようなさまざまな標準に対する準拠または認定を実現するには、Qualified Security Assessor (QSA)、Joint Authorization Board (JAB)、または業界で認められたその他の規制当局など、認定監査機関と協力して、環境を評価する必要があります。

Compliance Operator から生成される推奨事項は、そのような標準に関する一般に利用可能な情報と実践に基づいており、修復に役立つ可能性がありますが、実際のコンプライアンスはユーザーの責任となります。認定監査人と協力して標準への準拠を実現します。

最新の更新は、Compliance Operator リリースノート を参照してください。

2.6.10.1. Compliance Operator ポリシーの概要

Compliance Operator ポリシーを使用して、マネージドクラスターに Compliance Operator をインストールできます。Compliance Operator ポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform は、Compliance Operator ポリシーをサポートします。

注記: Compliance Operator ポリシー は、IBM Power または IBM Z アーキテクチャーではサポートされていない OpenShift Container Platform Compliance Operator に依存します。Compliance Operator の詳細は、OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。

2.6.10.2. Compliance Operator のリソース

Compliance Operator ポリシーを作成すると、次のリソースが作成されます。

  • Operator インストール用の Compliance Operator namespace (openshift-compliance):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-ns
spec:
  remediationAction: inform # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: v1
        kind: Namespace
        metadata:
          name: openshift-compliance
Copy to Clipboard Toggle word wrap
  • 対象の namespace を指定する Operator グループ (compliance-operator):
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-operator-group
spec:
  remediationAction: inform # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: operators.coreos.com/v1
        kind: OperatorGroup
        metadata:
          name: compliance-operator
          namespace: openshift-compliance
        spec:
          targetNamespaces:
            - openshift-compliance
Copy to Clipboard Toggle word wrap
  • 名前とチャネルを参照するためのサブスクリプション (comp-operator-subscription)。サブスクリプションは、サポートするプロファイルをコンテナーとしてプルします。以下のサンプルを参照してください。4.x は、現在のバージョンに置き換えます。
apiVersion: policy.open-cluster-management.io/v1
kind: ConfigurationPolicy
metadata:
  name: comp-operator-subscription
spec:
  remediationAction: inform  # will be overridden by remediationAction in parent policy
  severity: high
  object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: operators.coreos.com/v1alpha1
        kind: Subscription
        metadata:
          name: compliance-operator
          namespace: openshift-compliance
        spec:
          channel: "4.x"
          installPlanApproval: Automatic
          name: compliance-operator
          source: redhat-operators
          sourceNamespace: openshift-marketplace
Copy to Clipboard Toggle word wrap

Compliance Operator ポリシーをインストールすると、compliance-operatorocp4、および rhcos4 の Pod が作成されます。policy-compliance-operator-install.yaml のサンプルを参照してください。

2.6.10.3. 関連情報

2.6.11. E8 スキャンポリシー

Essential 8 (E8) スキャンポリシーは、マスターノードとワーカーノードが E8 セキュリティープロファイルに準拠しているかどうかを確認するスキャンをデプロイします。E8 スキャンポリシーを適用するには、Compliance Operator をインストールする必要があります。

E8 スキャンポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform は E8 スキャンポリシーをサポートします。詳細は、OpenShift Container Platform ドキュメントの Compliance Operator の管理 を参照してください。

2.6.11.1. E8 スキャンポリシーリソース

E8 スキャンポリシーを作成すると、次のリソースが作成されます。

  • スキャンするプロファイルを特定する ScanSettingBinding リソース (e8):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ScanSettingBinding
            metadata:
              name: e8
              namespace: openshift-compliance
            profiles:
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-e8
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: rhcos4-e8
            settingsRef:
              apiGroup: compliance.openshift.io/v1alpha1
              kind: ScanSetting
              name: default
    Copy to Clipboard Toggle word wrap
  • status フィールドを確認してスキャンが完了したかどうかを確認する ComplianceSuite リソース (compliance-suite-e8):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceSuite
            metadata:
              name: e8
              namespace: openshift-compliance
            status:
              phase: DONE
    Copy to Clipboard Toggle word wrap
  • ComplianceCheckResult カスタムリソース (CR) を確認してスキャンスイートの結果を報告する ComplianceCheckResult リソース (compliance-suite-e8-results):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-e8-results
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: mustnothave # this template reports the results for scan suite: e8 by looking at ComplianceCheckResult CRs
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceCheckResult
            metadata:
              namespace: openshift-compliance
              labels:
                compliance.openshift.io/check-status: FAIL
                compliance.openshift.io/suite: e8
    Copy to Clipboard Toggle word wrap

注記: 自動修復はサポート対象です。ScanSettingBinding リソースを作成するには修復アクションを enforce に設定します。

policy-compliance-operator-e8-scan.yaml のサンプルを参照してください。詳細は、セキュリティーポリシーの管理 を参照してください。注記: E8 ポリシーの削除後に、これはターゲットクラスターから削除されます。

2.6.12. OpenShift CIS スキャンポリシー

OpenShift CIS スキャンポリシーは、マスターとワーカーノードをチェックして、OpenShift CIS セキュリティーベンチマークに準拠しているかどうかを確認するスキャンをデプロイします。OpenShift CIS ポリシーを適用するには、Compliance Operator をインストールする必要があります。

OpenShift CIS ポリシーは、Kubernetes 設定ポリシーとして Red Hat Advanced Cluster Management に作成されます。OpenShift Container Platform では、OpenShift CIS スキャンポリシーがサポートされます。詳細は、OpenShift Container Platform ドキュメントの Compliance Operator について を参照してください。

2.6.12.1. OpenShift CIS リソース

OpenShift CIS スキャンポリシーを作成すると、次のリソースが作成されます。

  • スキャンするプロファイルを特定する ScanSettingBinding リソース (cis):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-cis-scan
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template creates ScanSettingBinding:cis
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ScanSettingBinding
            metadata:
              name: cis
              namespace: openshift-compliance
            profiles:
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-cis
            - apiGroup: compliance.openshift.io/v1alpha1
              kind: Profile
              name: ocp4-cis-node
            settingsRef:
              apiGroup: compliance.openshift.io/v1alpha1
              kind: ScanSetting
              name: default
    Copy to Clipboard Toggle word wrap
  • status フィールドを確認してスキャンが完了したかどうかを確認する ComplianceSuite リソース (compliance-suite-cis):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-cis
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: musthave # this template checks if scan has completed by checking the status field
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceSuite
            metadata:
              name: cis
              namespace: openshift-compliance
            status:
              phase: DONE
    Copy to Clipboard Toggle word wrap
  • ComplianceCheckResult カスタムリソース (CR) を確認してスキャンスイートの結果を報告する ComplianceCheckResult リソース (compliance-suite-cis-results):

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: compliance-suite-cis-results
    spec:
      remediationAction: inform
      severity: high
      object-templates:
        - complianceType: mustnothave # this template reports the results for scan suite: cis by looking at ComplianceCheckResult CRs
          objectDefinition:
            apiVersion: compliance.openshift.io/v1alpha1
            kind: ComplianceCheckResult
            metadata:
              namespace: openshift-compliance
              labels:
                compliance.openshift.io/check-status: FAIL
                compliance.openshift.io/suite: cis
    Copy to Clipboard Toggle word wrap

policy-compliance-operator-cis-scan.yaml ファイルのサンプルを参照してください。ポリシーの作成に関する詳細は、セキュリティーポリシーの管理 を参照してください。

2.6.13. イメージ脆弱性ポリシー

イメージ脆弱性ポリシーを適用し、コンテナーセキュリティー Operator を利用してコンテナーイメージに脆弱性があるかどうかを検出します。このポリシーは、コンテナーセキュリティー Operator がインストールされていない場合は、これをマネージドクラスターにインストールします。

イメージ脆弱性ポリシーは、Kubernetes 設定ポリシーコントローラーがチェックします。セキュリティー Operator の詳細は、Quay リポジトリーコンテナーセキュリティー Operator を参照してください。

注記:

詳細は、以下のセクションを参照してください。

2.6.13.1. イメージ脆弱性ポリシーの YAML 設定

コンテナーセキュリティー operator ポリシーを作成すると、次のポリシーが含まれます。

  • 名前とチャネルを参照するサブスクリプション (container-security-operator) を作成するポリシー。この設定ポリシーには、リソースを作成するために enforce する spec.remediationAction が設定されている必要があります。サブスクリプションは、サブスクリプションがサポートするプロファイルをコンテナーとしてプルします。以下の例を参照してください。

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-example-sub
    spec:
      remediationAction: enforce  # will be overridden by remediationAction in parent policy
      severity: high
      object-templates:
        - complianceType: musthave
          objectDefinition:
            apiVersion: operators.coreos.com/v1alpha1
            kind: Subscription
            metadata:
              name: container-security-operator
              namespace: openshift-operators
            spec:
              # channel: quay-v3.3 # specify a specific channel if desired
              installPlanApproval: Automatic
              name: container-security-operator
              source: redhat-operators
              sourceNamespace: openshift-marketplace
    Copy to Clipboard Toggle word wrap
  • コンテナーセキュリティー operator のインストールが成功したことを確認するために ClusterServiceVersion を監査するための inform 設定ポリシー。以下の例を参照してください。

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-status
    spec:
      remediationAction: inform  # will be overridden by remediationAction in parent policy
      severity: high
      object-templates:
        - complianceType: musthave
          objectDefinition:
            apiVersion: operators.coreos.com/v1alpha1
            kind: ClusterServiceVersion
            metadata:
              namespace: openshift-operators
            spec:
              displayName: Red Hat Quay Container Security Operator
            status:
              phase: Succeeded   # check the CSV status to determine if operator is running or not
    Copy to Clipboard Toggle word wrap
  • ImageManifestVuln オブジェクトがイメージの脆弱性スキャンによって作成されたかどうかを監査する inform 設定ポリシー。以下の例を参照してください。

    apiVersion: policy.open-cluster-management.io/v1
    kind: ConfigurationPolicy
    metadata:
      name: policy-imagemanifestvuln-example-imv
    spec:
      remediationAction: inform  # will be overridden by remediationAction in parent policy
      severity: high
      namespaceSelector:
        exclude: ["kube-*"]
        include: ["*"]
      object-templates:
        - complianceType: mustnothave # mustnothave any ImageManifestVuln object
          objectDefinition:
            apiVersion: secscan.quay.redhat.com/v1alpha1
            kind: ImageManifestVuln # checking for a Kind
    Copy to Clipboard Toggle word wrap

2.6.13.2. イメージ脆弱性ポリシーの例

policy-imagemanifestvuln.yaml を参照してください。詳細は、セキュリティーポリシーの管理 を参照してください。設定コントローラーによって監視されるその他の設定ポリシーは、Kubernetes 設定ポリシーコントローラー を参照してください。

2.6.14. Red Hat OpenShift Platform Plus ポリシーセット

OpenShift Platform Plus ポリシーセット (openshift-plus) を設定して適用し、Red Hat OpenShift Platform Plus をインストールします。

OpenShift Platform Plus ポリシーセットには、デプロイされる 2 つの PolicySets が含まれます。OpenShift Plus ポリシーセットは、OpenShift Platform Plus 製品をインストールするために設定された複数のポリシーを適用します。Red Hat Advanced Cluster Security で保護されたクラスターサービスと Compliance Operator は、すべての OpenShift Container Platform マネージドクラスターにデプロイされます。

2.6.14.1. 前提条件

  • Red Hat OpenShift Container Platform 4.13 以降を Amazon Web Services (AWS) 環境にインストールする。
  • Red Hat Advanced Cluster Management for Kubernetes 2.7 以降をインストールする。
  • Policy Generator Kustomize プラグインをインストールする。詳細は、ポリシージェネレーター のドキュメントを参照してください。

2.6.14.2. OpenShift Platform Plus ポリシーセットのコンポーネント

ポリシーセットをハブクラスターに適用すると、次の OpenShift Platform Plus コンポーネントがインストールされます。

Expand
表2.12 コンポーネントテーブル
コンポーネントポリシー説明

Red Hat Advanced Cluster Security

policy-acs-central-ca-bundle

中央サーバーを Red Hat Advanced Cluster Management for Kubernetes ハブクラスターおよびマネージドクラスターにインストールするために使用されるポリシー。

policy-acs-central-status

Red Hat Advanced Cluster Security ステータスを受け取るためのデプロイメント。

policy-acs-operator-central

Red Hat Advanced Cluster Security 中央 operator の設定

policy-acs-sync-resources

Red Hat Advanced Cluster Security リソースが作成されていることを確認します。

OpenShift Container Platform

policy-advanced-managed-cluster-status

マネージドハブクラスター。マネージドクラスターのマネージャー。

Compliance Operator

policy-compliance-operator-install

Compliance operator のインストールに使用されるポリシー。

Red Hat Quay

policy-config-quay

Red Hat Quay の設定ポリシー。

policy-install-quay

Red Hat Quay のインストールに使用されるポリシー。

policy-quay-status

Red Hat Advanced Cluster Management ハブクラスターにインストールされます。

Red Hat Advanced Cluster Management

policy-ocm-observability

Red Hat Advanced Cluster Management 可観測性サービスをセットアップします。

Red Hat OpenShift Data Platform

policy-odf

Red Hat Advanced Cluster Management の可観測性と Quay によって使用される、ハブクラスターコンポーネント用の利用可能なストレージ。

policy-odf-status

Red Hat OpenShift Data Platform のステータスを設定するために使用されるポリシー。

2.6.14.3. 関連情報

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る