22.7. Podman イベントを使用した監査
以前は、イベントを正しく解釈するには、イベントをイベントに接続する必要がありました。たとえば、どのイメージが使用されたかを知るには、container-create イベントを image-pull イベントにリンクする必要がありました。また、container-create イベントには、セキュリティー設定、ボリューム、マウントなどのすべてのデータが含まれているわけではありません。
Podman v4.4 以降、コンテナーに関するすべての関連情報を 1 つのイベントと journald エントリーから直接収集できるようになりました。データは podman container inspect コマンドからのものと同じ JSON 形式であり、コンテナーのすべての設定とセキュリティー設定が含まれます。監査目的でコンテナー検査データを添付するように Podman を設定できます。
前提条件
-
container-toolsメタパッケージがインストールされている。
手順
~/.config/containers/containers.confファイルを変更し、events_container_create_inspect_data=trueオプションを[engine]セクションに追加します。$ cat ~/.config/containers/containers.conf [engine] events_container_create_inspect_data=trueシステム全体の設定の場合は、
/etc/containers/containers.confまたは/usr/share/container/containers.confファイルを変更します。コンテナーを作成します。
$ podman create registry.access.redhat.com/ubi8/ubi:latest 19524fe3c145df32d4f0c9af83e7964e4fb79fc4c397c514192d9d7620a36cd3Podman イベントを表示します。
podman eventsコマンドを使用します。$ now=$(date --iso-8601=seconds) $ podman events --since $now --stream=false --format "{{.ContainerInspectData}}" | jq “.Config.CreateCommand" [ "/usr/bin/podman", "create", "registry.access.redhat.com/ubi8" ]-
--format "{{.ContainerInspectData}}"オプションは検査データを表示します。 -
jq ".Config.CreateCommand"は、JSON データをより読みやすい形式に変換し、podman createコマンドのパラメーターを表示します。
-
journalctlコマンドを使用します。$ journalctl --user -r PODMAN_EVENT=create --all -o json | jq ".PODMAN_CONTAINER_INSPECT_DATA | fromjson" | jq ".Config.CreateCommand" [ "/usr/bin/podman", "create", "registry.access.redhat.com/ubi8" ]podman eventsとjournalctlコマンドの出力データは同じです。