検索

15.2. 違反の詳細の表示

download PDF

Violations ビューで違反を選択すると、違反に関する詳細情報が含まれるウィンドウが開きます。複数のタブにグループ化された詳細情報が表示されます。

15.2.1. 違反タブ

Violation Details パネルの Violation タブには、ポリシーにどのように違反したかの説明が表示されます。ポリシーがデプロイフェーズ属性を対象としている場合は、違反名など、ポリシーに違反した特定の値を表示できます。ポリシーが実行時アクティビティーを対象としている場合は、引数やポリシーを作成した祖先プロセスなど、ポリシーに違反したプロセスに関する詳細情報を表示できます。

15.2.2. デプロイメントタブ

Details パネルの Deployment タブには、違反が適用されるデプロイメントの詳細が表示されます。

概要セクション

Deployment overview セクションには、以下の情報が一覧表示されます。

  • デプロイメント ID: デプロイメントの英数字 ID。
  • Deployment name: デプロイメントの名前。
  • Deployment type: デプロイメントのタイプ。
  • Cluster: コンテナーがデプロイされているクラスターの名前。
  • Namespace: デプロイされたクラスターの一意の識別子。
  • Replicas: レプリケートされたデプロイメントの数。
  • Created: デプロイメントが作成された日時。
  • Updated: デプロイメントが更新された日時。
  • ラベル: 選択したデプロイメントに適用されるラベル。
  • アノテーション: 選択したデプロイメントに適用されるアノテーション。
  • サービスアカウント: 選択したデプロイメントのサービスアカウントの名前。
コンテナー設定セクション

Container configuration セクションには、以下の情報がリストされています。

  • コンテナー: コンテナーごとに、以下の情報を提供します。

    • イメージ名: 選択したデプロイメントのイメージの名前。名前をクリックすると、イメージに関する詳細情報が表示されます。
    • Resources: このセクションでは、次のフィールドの情報を提供します。

      • CPU 要求 (コア): コンテナーにより要求されるコアの数。
      • CPU 制限 (コア) : コンテナーが要求できるコアの最大数。
      • メモリー要求 (MB): コンテナーによって要求されるメモリーサイズ。
      • メモリー制限 (MB) : コンテナーが要求できる最大メモリー。
    • ボリューム: コンテナーにマウントされているボリューム (存在する場合)。
    • シークレット: 選択したデプロイメントに関連付けられているシークレット。シークレットごとに、次のフィールドの情報を提供します。

      • 名前: シークレットの名前。
      • コンテナーパス: シークレットが保存される場所。
    • 名前: サービスがマウントされる場所の名前。
    • ソース: データソースパス。
    • 宛先: データが保存されるパス。
    • タイプ: ボリュームのタイプ。
ポート設定セクション

Port configuration セクションには、次のフィールドを含む、デプロイメント内のポートに関する情報が表示されます。

  • ports: デプロイメントによって公開されるすべてのポート、およびこのデプロイメントとポートに関連付けられたすべての Kubernetes サービス (存在する場合)。ポートごとに、次のフィールドがリストされます。

    • containerPort: デプロイメントによって公開されるポート番号。
    • protocol: ポートで使用されるプロトコル (TCP や UDP など)。
    • exposure: ロードバランサーやノードポートなど、サービスの公開方法。
    • exposureInfo: このセクションでは、次のフィールドの情報を提供します。

      • level: サービスが内部でポートを公開するか、外部に公開するかどうかを示します。
      • serviceName : Kubernetes サービスの名前。
      • serviceID: RHACS に保存されている Kubernetes サービスの ID。
      • serviceClusterIp: クラスター内 の別のデプロイメントまたはサービスがこのサービスにアクセスするために使用できる IP アドレス。これは外部 IP アドレスではありません。
      • servicePort: サービスによって使用されるポート。
      • nodePort: 外部トラフィックがノードに入ってくるノード上のポート。
      • externalIps: クラスターの外部からサービスに外部アクセスするために使用できる IP アドレス (存在する場合)。このフィールドは内部サービスでは利用できません。
セキュリティーコンテキストセクション

Security context セクションには、コンテナーが特権コンテナーとして実行されているかどうかがリストされます。

  • 特権:

    • 特権がある 場合は true
    • 特権がない 場合は false
ネットワークポリシーセクション

Network policy セクションには、namespace と、違反を含む namespace 内のすべてのネットワークポリシーがリストされます。ネットワークポリシー名をクリックして、ネットワークポリシーの完全な YAML ファイルを表示します。

15.2.3. ポリシータブ

Details パネルの Policy タブには、違反の原因となったポリシーの詳細が表示されます。

ポリシーの概要セクション

Policy overview セクションには、次の情報が一覧表示されます。

  • Severity: 必要な注意の量に関するポリシーのランク付け (critical、high、medium、または low)。
  • Categories: ポリシーのポリシーカテゴリー。ポリシーカテゴリーは、Policy categories タブの Platform Configuration Policy Management にリストされます。
  • Type: ポリシーがユーザー生成 (ユーザーによって作成されたポリシー) であるか、システムポリシー (デフォルトで RHACS に組み込まれているポリシー) であるか。
  • Description: ポリシーアラートの内容の詳細な説明。
  • Rationale: ポリシーの確立の背後にある理由と、それが重要である理由に関する情報。
  • Guidance: 違反に対処する方法に関する提案。
  • MITRE ATT&CK : このポリシーに適用される MITRE tactics and techniques があるかどうかを示します。
ポリシーの動作

Policy behavior セクションでは、次の情報を提供します。

  • ライフサイクルステージ: ポリシーが属するライフサイクルステージ (BuildDeploy、または Runtime)。
  • Event source: このフィールドは、ライフサイクルステージが Runtime の場合にのみ適用されます。次のいずれかです。

    • Deployment: イベントソースにプロセスおよびネットワークアクティビティー、Pod 実行、Pod ポート転送が含まれる場合、RHACS はポリシー違反をトリガーします。
    • Audit logs: イベントソースが Kubernetes 監査ログレコードと一致すると、RHACS はポリシー違反をトリガーします。
  • Response: 応答は次のいずれかになります。

    • Inform: ポリシー違反では、違反リストに違反が生成されます。
    • Inform and enforce: 違反が適用されます。
  • Enforcement: 応答が Inform and enforce に設定されている場合、次のステージに設定されている適用タイプがリストされます。

    • Build: イメージがポリシーの基準と一致すると、RHACS は継続的インテグレーション (CI) ビルドに失敗します。
    • Deploy: Deploy 段階では、RHACS アドミッションコントローラーが設定され実行されている場合、RHACS はポリシーの条件に一致するデプロイメントの作成と更新をブロックします。

      • アドミッションコントローラーが適用されているクラスターでは、Kubernetes または OpenShift Container Platform サーバーがすべての非準拠のデプロイメントをブロックします。他のクラスターでは、RHACS は準拠していないデプロイメントを編集して、Pod がスケジュールされないようにします。
      • 既存のデプロイメントの場合、ポリシーの変更は、Kubernetes イベントが発生したときに、基準が次に検出されたときにのみ適用されます。適用の詳細は、「デプロイステージのセキュリティーポリシーの適用」を参照してください。
    • Runtime: Pod 内のイベントがポリシーの基準に一致すると、RHACS はすべての Pod を削除します。
ポリシー条件セクション

Policy criteria セクションには、ポリシーのポリシー条件が一覧表示されます。

15.2.3.1. デプロイステージのセキュリティーポリシーの実施

Red Hat Advanced Cluster Security for Kubernetes は、デプロイ時のポリシーに対して、アドミッションコントローラーによるハードな適用と RHACS Sensor によるソフトな適用という 2 つの形式のセキュリティーポリシー適用をサポートしています。アドミッションコントローラーは、ポリシーに違反するデプロイメントの作成または更新をブロックします。アドミッションコントローラーが無効または使用できない場合、Sensor はポリシーに違反するデプロイメントのレプリカを 0 にスケールダウンして強制を実行できます。

警告

ポリシーの適用は、実行中のアプリケーションまたは開発プロセスに影響を与える可能性があります。適用オプションを有効にする前に、すべての利害関係者に通知し、自動適用アクションに対応する方法を計画してください。

15.2.3.1.1. ハードエンフォースメント

ハードエンフォースメントは、RHACS アドミッションコントローラーによって実行されます。アドミッションコントローラーが適用されているクラスターでは、Kubernetes または OpenShift Container Platform サーバーがすべての非準拠のデプロイメントをブロックします。アドミッションコントローラーは、CREATE および UPDATE 操作をブロックします。デプロイ時の強制が有効に設定されたポリシーを満たす Pod の作成または更新リクエストはすべて失敗します。

注記

Kubernetes アドミッション Webhook は、CREATEUPDATEDELETE、または CONNECT 操作のみをサポートします。RHACS アドミッションコントローラーは、CREATE および UPDATE 操作のみをサポートします。kubectl patchkubectl setkubectl scale などの操作は、UPDATE 操作ではなく、PATCH 操作です。Kubernetes では PATCH 操作がサポートされていないため、RHACS は PATCH 操作の強制を実行できません。

ブロックを強制するには、RHACS でクラスターに対して次の設定を有効にする必要があります。

  • Enforce on Object Creates: Dynamic Configuration セクションのこのトグルは、アドミッションコントロールサービスの動作を制御します。これを機能させるには、Static Configuration セクションの Configure Admission Controller Webhook to listen on Object Creates トグルをオンにする必要があります。
  • オブジェクトの更新時に強制: Dynamic Configuration セクションのこのトグルは、アドミッションコントロールサービスの動作を制御します。これを機能させるには、Static Configuration セクションの Configure Admission Controller Webhook to listen on Object Updates トグルをオンにする必要があります。

Static Configuration 設定の項目を変更した場合に、その変更を有効にするにはセキュアクラスターを再デプロイする必要があります。

15.2.3.1.2. ソフトな適用

ソフトな適用は RHACS Sensor によって実行されます。このエンフォースメントにより、操作が開始しなくなります。ソフトな適用では、Sensor はレプリカを 0 にスケーリングし、Pod がスケジュールされるのを防ぎます。このエンフォースメントでは、クラスター内で準備ができていないデプロイメントが使用可能になります。

ソフトな適用が設定されていて、Sensor がダウンしている場合、RHACS は適用を実行できません。

15.2.3.1.3. namespace の除外

デフォルトでは、RHACS は、stackroxkube-systemistio-system namespace などの特定の管理 namespace をエンフォースメントブロックから除外します。その理由は、RHACS が正しく機能するためには、これらの namespace 内の一部の項目をデプロイする必要があるためです。

15.2.3.1.4. 既存のデプロイメントへのエンフォースメント

既存のデプロイメントの場合、ポリシーの変更は、Kubernetes イベントが発生したときに、基準が次に検出されたときにのみ適用されます。ポリシーに変更を加えた場合は、Policy Management を選択し、Reassess All をクリックしてポリシーを再評価する必要があります。このアクションは、新しい受信 Kubernetes イベントがあるかどうかに関係なく、すべての既存のデプロイメントにデプロイポリシーを適用します。ポリシーに違反があった場合は、RHACS がエンフォースメントを実行します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.