第6章 監査ログの確認
監査ログを使用すると、Pod のセキュリティー違反を特定できます。
6.1. 監査ログによる Pod のセキュリティー違反の特定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
サーバー監査ログを表示することで、ワークロード上の Pod セキュリティーアドミッション違反を特定できます。次の手順では、監査ログにアクセスして解析し、ワークロードの Pod セキュリティーアドミッション違反を見つける方法を示します。
前提条件
-
jq
がインストールされている。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
ノード名を取得するために、次のコマンドを実行します。
<node_name>=$(oc get node -ojsonpath='{.items[0].metadata.name}')
$ <node_name>=$(oc get node -ojsonpath='{.items[0].metadata.name}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 監査ログを表示するために、次のコマンドを実行します。
oc adm node-logs <node_name> --path=kube-apiserver/
$ oc adm node-logs <node_name> --path=kube-apiserver/
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <node_name> を、前の手順で取得したノードの名前に置き換えます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 該当する監査ログを解析するために、次のコマンドを入力します。
oc adm node-logs <node_name> --path=kube-apiserver/audit.log \ | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name + " " + .objectRef.resource' \ | sort | uniq -c
$ oc adm node-logs <node_name> --path=kube-apiserver/audit.log \ | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name + " " + .objectRef.resource' \ | sort | uniq -c
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <node_name> を、前の手順で取得したノードの名前に置き換えます。