ログファイル監査出力

logfile 監査出力は監査のための唯一の出力です。これは、ログディレクトリ内の <clustername>_audit.json ファイルにデータを書き込みます。

log4j2.properties を上書きし、監査トレイルのいずれかにアペンダーを指定しない場合、監査イベントはルートアペンダーに転送されます。デフォルトでは、これは elasticsearch.log ファイルを指します。

ログエントリ形式

監査イベントは JSON ドキュメントとしてフォーマットされ、各イベントは <clustername>_audit.json ファイルの別々の行に印刷されます。エントリ自体には行末区切り文字は含まれていません。監査イベントの JSON 形式はやや特異であり、ほとんどのフィールドはドット名構文に従い、順序付けられ、非 null の文字列値を含みます。この形式は、CSV に似た構造化された列形式を作成し、視覚的により簡単に検査できるようにします(同等のネストされた JSON ドキュメントと比較して)。

ただし、上記の形式の例外となるいくつかの属性があります。putdeletechangecreate、および invalidate 属性は、event.type: "security_config_change" 属性を持つイベントにのみ存在し、セキュリティ変更が適用される ネストされた JSON 表現を含みます。したがって、セキュリティ構成変更の内容は、監査イベントドキュメントのトップレベルのドット名フィールドとして表示されません。これは、フィールドが特定の種類のセキュリティ変更に特有であり、他の監査イベントには表示されないためです。したがって、列形式の利点は限られています。この場合、ネストされた構造のスペース節約の利点が好まれるトレードオフです。

request.body 属性が存在する場合(検索クエリの監査を参照)、それは JSON RFC 4677 に従ってエスケープされた完全な HTTP リクエストボディを含む文字列値を持ちます。

各エントリタイプのフィールドセットと例を指定する 監査イベントタイプ のリストがあります。

ログファイル出力設定

イベントやログに記録されるその他の情報は、elasticsearch.yml ファイルの設定を使用して制御できます。監査イベント設定 および ローカルノード情報設定 を参照してください。

リクエストボディを監査イベントに含めると、機密データがプレーンテキストで監査される可能性があることに注意してください。すべてのセキュリティ API(ユーザーのパスワードを変更するものなど)は、監査時に資格情報がフィルタリングされます。

また、ES_PATH_CONF にある log4j2.properties ファイルでログファイルの書き込み方法を構成できます(または ソース内の log4j2.properties の関連部分を確認してください)。デフォルトでは、監査情報は標準の Elasticsearch logs ディレクトリにある <clustername>_audit.json ファイルに追加されます(通常は $ES_HOME/logs にあります)。このファイルは、1GB のファイルサイズ制限に達するか、毎日ローテーションおよびアーカイブされます。