2.5. セキュリティーポリシーの管理


セキュリティーポリシーおよびポリシー違反の作成、表示、および管理には、ガバナンスおよびリスクのダッシュボードを使用します。CLI およびコンソールからポリシーの YAML ファイルを作成できます。

Policies ページでは、カテゴリーや基準で違反をフィルタリングして概要ビューをカスタマイズしたり、概要ビューを折りたたみ表示数を減らしたりするだけでなく、ポリシーの検索も可能です。ポリシーまたはクラスターの違反別に、違反の表のビューもフィルタリングできます。

ポリシーの表では、Policy nameNamespaceRemediationCluster violationStandardsCategories および Controls のポリシーの詳細を表示します。Options アイコンを選択すると、ポリシーの適用、編集、無効化、または削除が可能です。

表一覧でポリシーを選択すると、コンソールで、以下の情報タブが表示されます。

  • Details: Details タブを選択して、ポリシーの情報、配置の情報、_Policy テンプレートの表一覧を表示します。
  • Violations: Violations タブを選択して、違反の表一覧を表示します。
  • YAML: YAML タブを選択して、ポリシーを表示するか、エディターでポリシーを編集します。

セキュリティーポリシーの作成および更新の詳細は、以下のトピックを参照してください。

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

2.5.1. セキュリティーポリシーの管理

セキュリティーポリシーを作成して、指定のセキュリティー標準、カテゴリー、制御をもとにクラスターのコンプライアンスを報告して検証します。Red Hat Advanced Cluster Management for Kubernetes のポリシーを作成するには、マネージドクラスターで YAML ファイルを作成する必要があります。

2.5.1.1. セキュリティーポリシーの作成

コマンドラインインターフェイス (CLI) またはコンソールからセキュリティーポリシーを作成できます。クラスター管理者のアクセス権限が必要です。

Red Hat Advanced Cluster Management for Kubernetes ポリシーには以下のオブジェクトが必要です。

  • PlacementRule: ポリシーをデプロイする必要のある クラスターセレクター を定義します。
  • PlacementBinding: 配置を PlacementPolicy にバインドします。

ポリシー YAML ファイルに関する詳細は、「ポリシーの概要」を参照してください。

2.5.1.1.1. コマンドラインインターフェイスからのセキュリティーポリシーの作成

コマンドラインインターフェイス (CLI) からポリシーを作成するには、以下の手順を実行します。

  1. 以下のコマンドを実行してポリシーを作成します。

    kubectl create -f policy.yaml -n <namespace>
  2. ポリシーが使用するテンプレートを定義します。.yaml ファイルを編集し、templates フィールドを追加してテンプレートを定義します。ポリシーは以下の YAML ファイルのようになります。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy1
    spec:
      remediationAction: "enforce" # or inform
      disabled: false # or true
      namespaces:
        include: ["default"]
        exclude: ["kube*"]
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              namespace: kube-system # will be inferred
              name: operator
            spec:
              remediationAction: "inform"
              object-templates:
                complianceType: "musthave" # at this level, it means the role must exist and must have the following rules
                apiVersion: rbac.authorization.k8s.io/v1
                kind: Role
                metadata:
                  name: example
                objectDefinition:
                  rules:
                    - complianceType: "musthave" # at this level, it means if the role exists the rule is a musthave
                      apiGroups: ["extensions", "apps"]
                      resources: ["deployments"]
                      verbs: ["get", "list", "watch", "create", "delete","patch"]
  3. PlacementRule を定義します。PlacementRule を変更して、clusterNames または clusterLabels で、ポリシーを適用する必要のあるクラスターを指定します。配置ルールの作成および管理 を参照してください。PlacementRule は以下のようになります。

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement1
    spec:
      clusterConditions:
        - type: ManagedClusterConditionAvailable
          status: "True"
      clusterNames:
      - "cluster1"
      - "cluster2"
      clusterLabels:
        matchLabels:
          cloud: IBM
  4. PlacementBinding を定義して、ポリシーと PlacementRule をバインドします。PlacementBinding は以下の YAML の例のようになります。

    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding1
    placementRef:
      name: placement1
      apiGroup: apps.open-cluster-management.io
      kind: PlacementRule
    subjects:
    - name: policy1
      apiGroup: policy.mcm.ibm.com
      kind: Policy
2.5.1.1.1.1. CLI からのセキュリティーポリシーの表示

以下の手順を実行して、CLI からセキュリティーポリシーを表示します。

  1. 以下のコマンドを実行して、特定のセキュリティーポリシーの詳細を表示します。

    kubectl get securityepolicy <policy-name> -n <namespace> -o yaml
  2. 以下のコマンドを実行して、セキュリティーポリシーの詳細を表示します。

    kubectl describe securitypolicy <name> -n <namespace>
2.5.1.1.2. コンソールからのクラスターセキュリティーポリシーの作成

コンソールから新規ポリシーを作成すると、YAML エディターで YAML ファイルも作成されます。

  1. ナビゲーションメニューから Govern risk をクリックします。
  2. ポリシーを作成するには、Create policy をクリックします。
  3. Create policy ページで、以下のポリシーフィールドに適切な値を入力します。

    • Name (名前)
    • Specifications
    • Cluster selector (クラスターセレクター)
    • Enforce (修正アクション)
    • Standards (標準)
    • Categories
    • Controls
    注記

    ポリシー YAML に既存のポリシーをコピーアンドペーストし ます。パラメーターフィールドの値は、既存のポリシーを貼り付けると自動的に入力されます。検索機能で、ポリシー YAML ファイルの内容を検索できます。

  4. Red Hat Advanced Cluster Management for Kubernetes セキュリティーポリシー定義の例を表示します。次に、ポリシーの YAML ファイルをコピーアンドペーストします。

    重要:

    • ポリシーを特定のクラスターに適用するには、PlacementPolicy および PlacementBinding を定義する必要があります。Cluster selector フィールドに値を入力して、PlacementPolicy と PlacementBinding を定義します。
    • policy.mcm.ibm.com/controlspolicy.mcm.ibm.com/standards の値を必ず追加して、Policy Overview セクションで、どの制御と標準が違反されているかを示すモーダルカードを表示します。

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

    +

     apiVersion: policy.open-cluster-management.io/v1
     kind: Policy
     metadata:
       name: policy-pod
       annotations:
         policy.open-cluster-management.io/categories: 'SystemAndCommunicationsProtections,SystemAndInformationIntegrity'
         policy.open-cluster-management.io/controls: 'control example'
         policy.open-cluster-management.io/standards: 'NIST,HIPAA'
     spec:
       complianceType: musthave
       namespaces:
         exclude: ["kube*"]
         include: ["default"]
       object-templates:
       - complianceType: musthave
         objectDefinition:
           apiVersion: v1
           kind: Pod
           metadata:
             name: nginx1
           spec:
             containers:
             - name: nginx
               image: 'nginx:1.7.9'
               ports:
               - containerPort: 80
       remediationAction: enforce
       disabled: false
    
     ---
     apiVersion: apps.open-cluster-management.io/v1
     kind: PlacementBinding
     metadata:
       name: binding-pod
     placementRef:
       name: placement-pod
       kind: PlacementRule
       apiGroup: apps.open-cluster-management.io
     subjects:
     - name: policy-pod
       kind: Policy
       apiGroup: policy.mcm.ibm.com
    
     ---
     apiVersion: apps.open-cluster-management.io/v1
     kind: PlacementRule
     metadata:
       name: placement-pod
     spec:
       clusterConditions:
         - type: ManagedClusterConditionAvailable
           status: "True"
       clusterLabels:
         matchLabels:
           cloud: "IBM"
  5. Create Policy をクリックします。

    デフォルトでは、ポリシーは有効です。ポリシーを無効にするには、Disabled のチェックボックスを選択します。

コンソールからセキュリティーポリシーが作成されました。

2.5.1.1.2.1. コンソールからのセキュリティーポリシーの表示

コンソールからセキュリティーポリシーおよびそのステータスを表示できます。

  1. コンソールからクラスターにログインします。
  2. ナビゲーションメニューから、Governance and risk をクリックして、ポリシー表の一覧を表示します。

    注記

    ポリシー表の一覧をフィルタリングするには、All policies タブまたは Cluster violations タブを選択します。

  3. 詳細を表示するポリシーを 1 つ選択します。
  4. Violations タブを選択して、ポリシー違反を表示します。

2.5.1.2. セキュリティーポリシーの更新

以下のセクションを参照して、セキュリティーポリシーを更新します。

2.5.1.2.1. セキュリティーポリシーの無効化

セキュリティーポリシーを無効にするには、以下の手順を実行します。

  1. Red Hat Advanced Cluster Management for Kubernetes コンソールにログインします。
  2. ナビゲーションメニューから Govern risk をクリックし、ポリシー表の一覧を表示します。
  3. Options icon > Disable の順にクリックして、ポリシーを無効化します。Disable Policy ダイアログボックスが表示されます。
  4. Disable policy をクリックします。

ポリシーが無効化されました。

2.5.1.2.2. セキュリティーポリシーの削除

CLI またはコンソールからセキュリティーポリシーを削除します。

  • CLI からセキュリティーポリシーを削除します。

    1. 以下のコマンドを実行してセキュリティーポリシーを削除します。

       kubectl delete policy <securitypolicy-name> -n <open-cluster-management-namespace>

      ポリシーを削除すると、ターゲットクラスターから削除されます。

    2. 以下のコマンドを実行して、ポリシーが削除されていることを確認します。

       kubectl get policy <securitypolicy-name> -n <open-cluster-management-namespace>
  • コンソールからセキュリティーポリシーを削除します。

    1. ナビゲーションメニューから Govern risk をクリックし、ポリシー表の一覧を表示します。
    2. ポリシー違反表で、削除するポリシーの Options アイコンをクリックします。
    3. Remove をクリックします。
    4. Remove policy ダイアログボックスから Remove policy をクリックします。

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

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る