2.3. ポリシーコントローラー


ポリシーコントローラーは、クラスターがポリシーに準拠しているかどうかを監視し、報告します。未設定のポリシーテンプレートを使用して事前定義のポリシーコントローラーおよびポリシーを適用し、Red Hat Advanced Cluster Management for Kubernetes ポリシーフレームワークを使用します。ポリシーコントローラーは Kubernetes の CustomResourceDefinition (CRD) インスタンスです。CRD の詳細は、「Extend the Kubernetes API with CustomResourceDefinitions」を参照してください。ポリシーコントローラーは、ポリシー違反を修正し、クラスターのステータスを準拠させます。

製品ポリシーフレームワークを使用して、カスタムポリシーおよびポリシーコントローラーを作成できます。詳細は、「カスタムポリシーコントローラーの作成」を参照してください。

重要: 設定ポリシーコントローラーだけが enforce 機能をサポートしています。ポリシーコントローラーが enforce 機能をサポートしないポリシーを手動で修正する必要があります。

Red Hat Advanced Cluster Management for Kubernetes の以下のポリシーコントローラーについては、次のトピックを参照してください。

ポリシー管理の他のトピックについては、「ガバナンスおよびリスク」を参照してください。

2.3.1. Kubernetes 設定ポリシーコントローラー

設定ポリシーコントローラーを使用して、Kubernetes リソースを設定し、クラスター全体にセキュリティーポリシーを適用できます。

設定ポリシーコントローラーは、ローカルの Kubernetes API サーバーと通信し、クラスターにある設定の一覧を取得します。CRD の詳細は、Extend the Kubernetes API with CustomResourceDefinitions を参照してください。

設定ポリシーコントローラーは、インストール時にハブクラスターに作成されます。設定ポリシーコントローラーは、enforce 機能をサポートし、以下のポリシーのコンプライアンスを監視します。

設定ポリシーの remediationActionenforce に設定されている場合には、コントローラーはターゲットのマネージドクラスターで複製ポリシーを作成します。

2.3.1.1. 設定ポリシーコントローラーの YAML 構成

Name:         configuration-policy-example
Namespace:
Labels:
APIVersion:   policy.open-cluster-management.io/v1
Kind:         ConfigPolicy
Metadata:
  Finalizers:
    finalizer.policy.open-cluster-management.io
Spec:
  Conditions:
    Ownership:
    NamespaceSelector:
      Exclude:
      Include:
    RemediationAction:
 Status:
   CompliancyDetails:
     Configuration-Policy-Example:
       Default:
       Kube - Public:
   Compliant:          Compliant
 Events:
Copy to Clipboard Toggle word wrap

2.3.1.2. 設定ポリシーの例

apiVersion: policy.open-cluster-management.io/v1
kind: ConfigPolicy
metadata:
  name: policy-config
spec:
  namespaceSelector:
    include: ["default"]
    exclude: []
  remediationAction: inform
    severity: low
    object-templates:
    - complianceType: musthave
      objectDefinition:
        apiVersion: v1
        kind: Pod
        metadata:
          name: nginx-pod
        spec:
          containers:
          - image: nginx:1.7.9
            name: nginx
            ports:
           - containerPort: 80
Copy to Clipboard Toggle word wrap

2.3.1.3. 設定ポリシーの YAML の表

Expand
表2.2 パラメーターの表
フィールド説明

apiVersion

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

kind

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

metadata.name

必須。ポリシーの名前。

spec

必須。監視する設定ポリシーと設定ポリシーの修正方法に関する仕様。

spec.namespaceSelector

必須。ポリシーの適用先のハブクラスター内にある namespace。include パラメーターに、ポリシーを適用する namespace を最低でも 1 つ入力します。exclude パラメーターには、ポリシーを明示的に適用しない namespace を指定します。

spec.remediationAction

必須。ポリシーの修正を指定します。inform と入力します。

remediationAction.severity

必須。ポリシーがコンプライアンス違反の場合に重大度を指定します。パラメーター値 lowmedium、または high を使用します。

remediationAction.complianceType

必須。マネージドクラスターに評価または適用する必要があるロールおよび他の Kubernetes オブジェクトの予想される動作をリストするために使用されます。以下の動詞をパラメーター値として使用する必要があります。

mustonlyhave: 正確な名前と関連フィールドを持つオブジェクトが存在する必要があることを示します。

musthave: 指定された object-template と同じ名前を持つオブジェクトが存在することを示します。テンプレートの他のフィールドは、オブジェクトに存在するもののサブセットです。

mustnothave: 仕様またはルールに関係なく、同じ名前またはラベルを持つオブジェクトは存在できず、削除する必要があることを示します。

ハブクラスターでポリシーを適用する方法を説明します。詳細は、「 ポリシーサンプル 」を参照してください。ポリシーを作成してカスタマイズする方法は、「 セキュリティーポリシーの管理 」を参照してください。

コントローラーの詳細は、「ポリシー コントローラー」を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat