16.5. Pod セキュリティーアドミッションアラート


PodSecurityViolation アラートがトリガーされるのは、Pod セキュリティーアドミッションコントローラーの監査レベルで Pod が拒否されたことを Kubernetes API サーバーが報告された場合です。このアラートは 1 日間持続します。

Kubernetes API サーバーの監査ログを表示して、トリガーされたアラートを調査します。たとえば、グローバル適用の Pod セキュリティーレベルが restricted に設定されていると、ワークロードが承認に失敗する可能性があります。

Pod セキュリティーアドミッション違反の監査イベントを特定する方法については、Kubernetes ドキュメントの 監査アノテーション を参照してください。

16.5.1. Pod のセキュリティー違反の特定

PodSecurityViolation アラートは、どのワークロードが Pod のセキュリティー違反を引き起こしているかの詳細を提供しません。影響を受けるワークロードは、Kubernetes API サーバーの監査ログを確認することで特定できます。この手順では、must-gather ツールを使用して監査ログを収集し、pod-security.kubernetes.io/audit-violations アノテーションを検索します。

前提条件

  • jq がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. 監査ログを収集するには、次のコマンドを入力します。

    $ oc adm must-gather -- /usr/bin/gather_audit_logs
  2. 影響を受けるワークロードの詳細を出力するには、次のコマンドを入力します。

    $ zgrep -h pod-security.kubernetes.io/audit-violations must-gather.local.<archive_id>/<image_digest_id>/audit_logs/kube-apiserver/*log.gz \
      | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name' \
      | sort | uniq -c

    <archive_id><image_digest_id> を、実際のパス名に置き換えます。

    出力例

    1 test-namespace my-pod

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.