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>
    Copy to Clipboard Toggle word wrap
  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"]
    Copy to Clipboard Toggle word wrap
  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
    Copy to Clipboard Toggle word wrap
  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
    Copy to Clipboard Toggle word wrap
2.5.1.1.1.1. CLI からのセキュリティーポリシーの表示

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

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

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

    kubectl describe securitypolicy <name> -n <namespace>
    Copy to Clipboard Toggle word wrap
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"
    Copy to Clipboard Toggle word wrap
  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>
      Copy to Clipboard Toggle word wrap

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

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

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

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

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

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat